2012-03-09 10 views
2

石英2D不透明なデータタイプ石英2D不透明なデータタイプ

クォーツの2D APIは、グラフィックスコンテキストに加え に不透明なデータ・タイプの様々な定義。 APIはCore Graphics フレームワークの一部であるため、で動作するデータ型とルーチンはを使用し、 のCGプレフィックスを使用します。

Quartz 2Dは、アプリケーション が特定の描画出力を達成するために使用する不透明データ型からオブジェクトを作成します。図1-3は、 を示しています。 の描画操作をQuartz 2Dで提供されている3つのオブジェクトに適用した場合の結果の種類を示しています。例:

PDFページを作成するには、 回転操作をグラフィックスコンテキストに適用し、 Quartz 2Dにページをグラフィックスコンテキストに描画するよう依頼することができます。

あなたは、パターンオブジェクトを作成 パターンを構成する形状を定義し、それがグラフィックスコンテキストに描画するとき 塗料としてパターンを使用するためにクォーツ2Dを設定することにより パターンを描くことができます。

あなたは、シェーディングオブジェクトを作成 シェーディングの各点の色を決定する機能を提供し、次いで塗りとしてシェーディングを使用する 石英2Dを尋ねることによって、軸方向又は 半径シェーディングエリアを埋めることができます色。

私は「彼らは」に査読されているもののように、トラブルapple reference guide

のこの部分を理解し、私は大胆に持って、具体的なものを持っていますか?

また、cまたはC++の用語ではなく、一般的に不透明なデータ型を明確にしてください。

ありがとうございます。 よろしくお願いいたします。

答えて

5

フレーズの不透明タイプは、見ていない、または見ることができないデータを含む、または参照するタイプを意味します。たとえば、QuartzはCGContextRefタイプを提供します。 CGContextRefのインスタンスを使用してグラフィックスコンテキストを作成、取得、操作、および解放するための関数が用意されていますが、CGContextRefの内部を見ることはできません。提供された機能を使用することなく、合理的にコンテキストを使用または変更することはできません。

+0

おかげで返信のために多くをクリア願っていますが、http://en.wikipedia.org/wiki/Opaque_data_type定義はコンピュータサイエンスでは、不透明なデータ型である」と言いますインタフェース内で不完全に定義されているデータ型であり、欠損した情報にアクセスできるサブルーチンを呼び出すことによってのみその値を操作することができます。不完全なことはどういう意味ですか?インターフェイスと同じですか? – Pamy

+1

これは、インターフェイスがタイプの内容を教えてくれないことを意味します。 CGContext.hは、 'CGContextRef'が' struct CGContext'へのポインタであることを示していますが、それだけです。CGContextの定義はありません。もちろん、フレームワークで提供されていますが、あなたはそれを見ることができません。これが*不透明なものになります。 – Caleb

+0

助けてくれてありがとう。 – Pamy