Xamarin.MacでNSColorWellを使う

Xamarin.MacでNSColorWellを使ったサンプルアプリケーションです。

色が選択されたときのイベントを設定する

色が選択されたときに実行する処理を、NSColorWellのActivatedイベントに登録します。

ColorWell.Activated += (sender, e) => { 実行する処理 }

NSColorWellで色が選択されるたびに、処理が実行されます。

RGBの各値を取得する

次のようにして、RGBの値を取得しています。

TextFieldR.IntValue = (int)(color.RedComponent * 255);
TextFieldG.IntValue = (int)(color.GreenComponent * 255);
TextFieldB.IntValue = (int)(color.BlueComponent * 255);

color.RedComponentのところで、次のエラーが発生することがありました。

Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘*** -getRed:green:blue:alpha: not valid for the NSColor Generic Gray Gamma 2.2 Profile colorspace 1 1; need to first convert colorspace.’ *** First throw call stack:

対策として、次のコードを入れています。

color = color.UsingColorSpace(NSColorSpace.GenericRGBColorSpace);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です