前書き
Core Graphics は、Quartz 2D としても知られ、iOS、tvOS、macOS アプリケーションの開発に使用できる高度な 2 次元描画エンジンです。Quartz 2D は、表示デバイスや印刷デバイスに関係ない、出力忠実度を備えた低レベルの軽量 2D レンダリングを提供します。Quartz 2D は解像度とデバイスに依存しません。
Quartz 2D API は使いやすく、透明レイヤー、パスに基づいた描画、オフスクリーンレンダリング、高度な色管理、アンチエイリアスレンダリング、PDF 文書の作成、表示、解析などの強力な機能にアクセスできます。
誰がこの文書を読むべきか?
この文書は、以下のタスクのいずれかを実行する必要のある開発者を対象としています。
- グラフィックスを描く
- アプリケーションでグラフィックス編集機能を提供する
- ビットマップイメージの作成または表示
- PDF 文書の操作
この文書の構成
この文書は、以下の章で構成されています。
- Quartz 2D の概要 では、ページ、描画先、Quartz の不透明なデータ型、グラフィックスの状態、座標、及びメモリ管理について説明し、Quartz が舞台裏でどのように動作するかを見ていきます。
- グラフィックスコンテキスト では、描画先の種類を説明し、グラフィックスコンテキストのすべてのフレーバーを作成するためのステップごとの手順を提供します。
- パス (Paths) では、パスを構成する基本要素について説明し、パスの作成とペイントの方法を示し、クリッピング領域を設定する方法を示し、ブレンドモードがペイントにどのように影響するかを説明します。
- 色と色空間 では、色の値と透明度のアルファ値を使用して色空間を作成し、色を設定し、色オブジェクトを作成し、レンダリングのインテントを設定する方法について説明します。
- 変換 では現在の変換行列を説明し、それを変更する方法、アファイン変換を設定する方法、ユーザー空間とデバイス空間を変換する方法を示し、Quartz が実行する数学演算に関する背景情報を提供します。
- パターン では、パターンとそのパーツが何であるかを定義し、Quartz がそれらをレンダリングする方法を示し、色のパターンとステンシルパターンを作成する方法を示します。
- 陰影 では、陰影とは何であるかを説明し、どのように動作するかを説明し、それらを使ってペイントする方法を示します。
- グラデーション では、軸方向および放射状のグラディエーションについて説明し、CGShading および CGGradient オブジェクトを作成および使用する方法を示します。
- 透過レイヤー では、透明レイヤーの外観を例示し、その働きを説明し、それらを実装するためのステップごとの手順を提供します。
- Quartz 2D でのデータ管理 では、Quartz にデータを出し入れする方法について説明しています。
- ビットマップイメージとイメージマスク では、ビットマップイメージ定義を構成するものを記述し、ビットマップイメージを Quartz 描画プリミティブとして使用する方法を示します。また、イメージで使用できるマスキング手法についても説明し、イメージを描画するときにブレンドモードを使用して得られるさまざまな効果を示します。
- Core Graphics のレイヤー描画 では、描画レイヤーを作成し使用して、高性能なパターン描画を実現する方法や、オフスクリーンを描画する方法について説明します。
- PDF 文書の作成、表示、および変換 では、PDF 文書を開いて表示し、変換を適用し、PDF ファイルを作成し、PDF メタデータにアクセスし、リンクを追加し、セキュリティ機能(パスワード保護など) を追加する方法を示します。
- PDF 文書の解析 では、CGPDFScanner および CGPDFContentStream オブジェクトを使用して PDF 文書を解析および検査する方法について説明します。
- PostScript 変換 では、Mac OS X で PostScript ファイルを PDF 文書に変換するために使用できる関数の概要を示します。これらの関数は iOS では利用できません。
- テキスト では Quartz 2D の低レベルのテキストとグリフのサポート、およびより高度な Unicode テキストサポートを提供する代替を説明しています。また、フォントのバリエーションをコピーする方法についても説明します。
- 用語集 は、このガイドで使用される用語を定義します。
以下も見よ
これらの項目は、Quartz 2D を使用するすべての人にとって不可欠なものです。
- Core Graphics フレームワークマニュアル は、Quartz 2D アプリケーションプログラミングインタフェースの完全なマニュアルを提供します。
- 色管理の概要 は、カラー認識、色空間、色管理システムの原則を簡単に紹介するものです。
- メーリングリスト。quartz-dev メーリング・リストに参加して、Quartz 2D を使用して問題を議論してください。