以下を使用して Core Image CIContextを作成する場合:
contextWithCGLContext:pixelFormat:colorSpace:options:
で色空間を指定できますCGColorSpaceRef
。ただし、options
渡すことができる辞書では、特定の色空間パラメーターを設定することもできます。Appleのドキュメントから:
kCIContextOutputColorSpace
画像がコンテキストにレンダリングされる前に画像に使用する色空間のキー。デフォルトでは、Core Image は GenericRGB カラー スペースを使用し、カラー マッチングはシステムに任せます。Quartz 2D CGColorSpace オブジェクト (CGColorSpaceRef) を提供することにより、異なる出力カラー スペースを指定できます。(CGColorSpace オブジェクトの作成と使用については、「Quartz 2D プログラミング ガイド」を参照してください。)
kCIContextWorkingColorSpace
イメージ操作に使用するカラー スペースのキー。デフォルトでは、Core Image は、処理ノードが GenericRGB 色空間を使用する 128 ビット/ピクセル、線形光、事前に乗算された RGBA 浮動小数点値であると想定します。Quartz 2D CGColorSpace オブジェクト (CGColorSpaceRef) を提供することで、別の作業用カラー スペースを指定できます。作業色空間は RGB ベースでなければならないことに注意してください。入力として YUV データ (または RGB ベースではないその他のデータ) がある場合は、ColorSync 関数を使用して作業色空間に変換できます。(CGColorSpace オブジェクトの作成と使用については、「Quartz 2D プログラミング ガイド」を参照してください。)
私の質問は、これらのさまざまな色空間パラメーターがどのように相互作用するかです。
colorspace:
上記のパラメーターを使用して色空間を設定して CIContext を作成することはkCIContextOutputColorSpace
、options:
辞書で を使用して色空間を設定することと同じであると思います。あれは正しいですか?そうでない場合、各パラメーターの意味は何ですか?
もしそうなら、色空間がcolorspace:
パラメータとディクショナリのkCIContextOutputColorSpace
キーの両方を使用して設定されるとどうなりますか? options:
一方が他方をオーバーライドしますか? 他の振る舞いはありますか?