色の扱い

ここでは、NSColor での色の扱いをメモしておく。Color Panel を使って NSColor を扱う場合については、カラーパネルにちょっとメモしてある。Color Well のバインディングを使って Shared User Defaults を介して色の情報を得る方法は、このページにメモってある。

NSColor はいろいろ設定方法がある。

一つは、RGB(red,green,blue)とアルファ(透明度)で作る方法。2つあるんだけど違いがよくわからない。colorWithCalibratedRed_green_blue_alpha(red,green,blue,alpha) と colorWithDeviceRed_green_blue_alpha(red,green,blue,alpha)。どちらも、red、green、blue、alpha の値を 0-1.0 で指定する。全部1だと不透明の白になる。

NSColor.colorWithCalibratedRed_green_blue_alpha(1,1,1,1)

次に、グレースケールで指定する方法。グレースケールで表示したいときに、3色指定するのが面倒なときなど。colorWithCalibratedWhite_alpha(white,alpha) と colorWithDeviceWhite_alpha(white,alpha)。これも違いはよくわからない。どちらも、white、alpha の値を 0-1.0 で指定する。両方とも1だと不透明の白になる。

NSColor.colorWithCalibratedWhite_alpha(1,1)

次は、印刷用の色の組み合わせ、シアン、マゼンタ、黄、黒。colorWithDeviceCyan_magenta_yellow_black_alpha(cyan,magenta,yellow,black,alpha) で指定する。cyan、magenta、yellow、alpha の値を 0-1.0 で指定する。全部1だと不透明の黒になる。

NSColor.colorWithDeviceCyan_magenta_yellow_black_alpha(1,1,1,1,1)

もっと手軽に、プリセットの色を使う事もできる。下の色の中から選んで使う。clearColor は blackColor と同じ(grascale と alpha の値がともに 0.0 の NSColor オブジェクトを返す)。

赤にする場合は、次のように書く。

NSColor.redColor

これ以外に定義されている色は次の通り。

blackColor

blueColor

brownColor

clearColor

cyanColor

darkGrayColor

grayColor

greenColor

lightGrayColor

magentaColor

orangeColor

purpleColor

redColor

whiteColor

yellowColor