Quartz 2D は、 Core Graphicsフレームワークの一部である、 macOSおよびiOSプラットフォーム用のネイティブ 2 次元グラフィック レンダリングAPIです。
概要
Quartz 2Dは、すべてのmacOSおよびiOSアプリケーション環境で利用可能で、画面上および印刷準備の両方で、解像度やデバイスに依存しないビットマップグラフィック、テキスト、ベクターのレンダリングを提供します。グラフィックスレイヤー内での役割は次のとおりです。[1]
- テキストのレンダリング
- PDFドキュメントの表示、操作、レンダリング
- PostScriptデータを PDF データに変換する、またはその逆
- ビットマップ画像の表示、操作、レンダリング
- ColorSyncによるカラー管理の提供
- Aquaユーザーインターフェースの要素を表示する
Quartz 2D はいくつかの Quartz テクノロジーの 1 つであるため、「Quartz」という用語自体は文脈に応じて解釈する必要があります。
Quartz 2D での描画
Quartz 2D は、QuickDrawに関連付けられた描画機能を拡張します。最も顕著な違いは、Quartz 2D では出力デバイスと解像度の特定性が排除されていることです。
Quartz 2D が使用する描画モデルは、PDF 仕様 1.4 に基づいています。[2]描画は、テキスト、ベクター、またはビットマップ イメージがグリッド上に配置された直交座標系を使用して行われます。 [3]ただし、描画出力は出力デバイスに直接送信されません。Quartz 2D は、描画が行われる環境であるグラフィックス コンテキストを使用します。各グラフィックス コンテキストは、描画の表示方法を定義します。ウィンドウ内、プリンター、OpenGL レイヤー、またはオフスクリーンに送信します。各コンテキストは、描画を定義するデータを変更せずに、目的の解像度で描画をラスタライズします。したがって、コンテキストは、Quartz 2D が解像度とデバイスに依存しないメカニズムです。たとえば、ウィンドウ コンテキストは、オブジェクトを適切な画面解像度にラスタライズして、ディスプレイ上に実際のグラフィックスを作成します。同じオブジェクトを、はるかに高い解像度で印刷コンテキストに送信できます。これにより、同じグラフィックス コマンドを使用して、最も適切な解像度を使用して任意のデバイスに出力できます。[4]
歴史
Quartz 2D は、コンテキストの使用法がNeXTのDisplay PostScriptに似ています。最初は Core Graphics Rendering と呼ばれる 2D グラフィックス レンダリング ライブラリとして登場し、Core Graphics Services (Compositing) とともに Quartz の初期バージョンに組み込まれました。 [5] Quartz (およびそのレンダラー) は、1999 年 5 月の WWDC で初めてデモされました。[6]
現在、 Quartz 2Dという名前は、Core Graphics (Quartz) の 2D レンダリング機能をより正確に定義しています。Mac OS X 10.2 のリリースにより、マーケティングの注目は合成レイヤーであるQuartz Extremeに集中し、「Quartz」という用語は Core Graphics フレームワークまたはその 2D レンダラーのみを指すようになりました。現在、Quartzテクノロジは、macOS で導入されたすべてのレンダリングおよび合成テクノロジ ( Core Imageなどを含む) を説明できます。
Mac OS X Tigerより前では、QuickDrawレンダリングはQuartz 2Dよりも優れていました。Mac OS X 10.4ではこれが修正され、Quartz 2Dの標準レンダリング性能が大幅に向上しました。[7] Tigerでは、Quartz 2Dのオプションのグラフィックプロセッサ(GPU)アクセラレーションであるQuartz 2D Extremeも導入されましたが、これは正式にサポートされている機能ではありません。[7] Quartz 2D Extremeは、ビデオの再描画の問題やカーネルパニックを引き起こす可能性があるため、Mac OS X 10.4ではデフォルトで無効になっています。[8] Mac OS X Leopardでは、Quartz 2D ExtremeはQuartzGLに名前が変更されました。
参照
参考文献
- ^ 「Apple - Developer - Quartz 2D プログラミング ガイド」 。2012年 3 月 28 日閲覧。
- ^ 「Apple - Developer - Graphics & Imaging Overview」 。2007年 1 月 25 日閲覧。
- ^ 「Apple - Developer - QuickDraw 開発者向け Quartz プログラミング ガイド: 座標空間」。2008 年 10 月 11 日時点のオリジナルよりアーカイブ。2007 年 1 月 25 日閲覧。
- ^ 「Apple - Developer - QuickDraw 開発者向け Quartz プログラミング ガイド: 描画先」。2008 年 9 月 5 日時点のオリジナルよりアーカイブ。2007 年 1 月 25 日閲覧。
- ^ 「Ars Technica - Mac OS X DP4」。2007年1月25日閲覧。
- ^ 「Ars Technica - Mac OS X アップデート: Quartz & Aqua」。2007 年 1 月 25 日閲覧。
- ^ ab Mac OS X 10.4 Tiger |アルス テクニカ
- ^ 「Apple - Info - Docs - Mac OS X 10.4.3 Update (Delta) について」。2007 年 10 月 16 日時点のオリジナルよりアーカイブ。2007 年8 月 19 日閲覧。
外部リンク
- Mac OS X – 機能 – Quartz Extreme – Apple より
- Quartz 2D プログラミング ガイドの紹介 – Apple の開発者向けドキュメント
- QuickDraw プログラマのための Quartz 2D 入門 – O'Reilly の MacDevCenter の開発者向けドキュメント
