2008年3月3日月曜日

NSColorWellに透明色を入れたら出てくるのは不透明という問題、及び解

以前はちゃんと[NSColor clearColor]を設定するとColorWellでは斜線が着いていた.
(この斜線ってalphaの設定を意味するのかな?)
でもいつのまにか真っ黒に.

なんでだろう?とおもっていろいろやっていたらこんな感じなことを発見.
NSLog(@"[NSColor clearColor]: %@", [NSColor clearColor]);
[nsColorWell setColor:[NSColor clearColor]];
NSColor* color= [nsColorWell color];
NSLog(@"[nsColorWell color]: %@", [nsColorWell color]);

[NSColor clearColor]: NSCalibratedWhiteColorSpace 0 0
[nsColorWell color]: NSCalibratedWhiteColorSpace 0 1
...orz.

で,いろいろやってたんだけどこれを処理前に加えて解決.
[NSColor setIgnoresAlpha:NO];

どこでこれをひっくり返してたんだろう….とりあえず解決.

2 件のコメント:

匿名 さんのコメント...

http://www.allocinit.net/blog/2006/06/20/of-colour-wells-and-alpha/

nscolorwell alphaをgoogle検索して得た
上記urlを見てると、
classファイルを追加して
NSColorWellに追加した
カスタムclassを指定しているみたいでした。

p_g_ さんのコメント...

コメントありがとうございました :)