Quartz 2Dは、macOS、iOS、tvOSで利用される主要なグラフィックスAPIの一つです。このAPIは、低レベルで軽量な2Dレンダリング機能を提供し、開発者が高品質なグラフィックスを効率的に作成することを可能にします。
解像度やデバイスに依存しない設計がされており、様々な環境で一貫した表示が実現できます。また、
Quartz 2DはCore Graphicsフレームワークの一部であるため、Core Graphics(CG)とも呼ばれることがあります。
主な機能
Quartz 2Dは、
ビットマップ画像、ベクター画像、テキストのレンダリングを主な機能としています。macOSのアプリケーション環境では、ディスプレイ表示と印刷の両方で活用され、ユーザーインターフェースの描画や、PDFドキュメントの表示・処理、さらに
PostScriptデータとPDFデータの相互変換など、幅広い用途に対応します。
具体的な機能としては、以下のものが挙げられます。
Apple Type Services (ATS) によるテキストレンダリング: 高品質なテキスト表示を実現します。
PDFドキュメントの表示・処理・レンダリング: PDFファイルの表示だけでなく、編集や作成にも利用できます。
PostScriptデータとPDFデータの相互変換: 異なるファイル形式間の変換を可能にします。
ImageIOクラスによるビットマップ画像の処理とレンダリング: 様々な形式の画像ファイルの読み込み、加工、表示をサポートします。
Aquaユーザインターフェースの表示: macOS標準のUI要素の描画にも使われています。
他のグラフィックスAPIとの関係
Quartz 2Dは、macOSやiOSなどのエコシステム内で、他のグラフィックス関連APIと連携して動作します。
Quartz:
Quartzは、macOSのグラフィックスシステム全体の名称です。
Quartz 2Dはその一部であり、2Dグラフィックス処理に特化しています。
Quartz Compositor: 画面表示を合成する役割を担い、Quartz 2Dで描画された要素を適切に表示します。
Core Image: 画像処理に特化したAPIで、
Quartz 2Dと組み合わせて高度な画像効果を適用できます。
類似技術
他のプラットフォームやライブラリにも、
Quartz 2Dと同様の機能を提供するものが存在します。
cairo: オープンソースの2Dグラフィックスライブラリで、様々なプラットフォームで利用できます。
Skia: Googleが開発した2Dグラフィックスライブラリで、AndroidやChromeなどで使われています。
GDI/GDI+: WindowsのグラフィックスAPIで、2D描画機能を提供します。
Direct2D: WindowsのグラフィックスAPIで、GDI/GDI+の後継として高速な2D描画を実現します。
WPF: Windows Presentation Foundationは、XPSドキュメントの表示や、System.Windows.Media.DrawingContextによる直接描画をサポートしています。
まとめ
Quartz 2Dは、macOS、iOS、tvOSにおけるグラフィックス処理の基盤として、その重要性は非常に高いです。柔軟性と高いパフォーマンスを兼ね備え、様々なアプリケーションで高品質なグラフィックス表示を可能にしています。
参考資料
Mac OS X – Features – Quartz Extreme -
ウェイバックマシン(2011年5月23日アーカイブ分) - Appleによる公式情報
Introduction to Quartz 2D Programming Guide - Appleの開発者向けドキュメント
Introduction to Quartz 2D for
QuickDraw Programmers - O'Reilly's MacDevCenterのドキュメント