頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


UIColorからRGBを取得する方法、ただしiOS 5以降

UIColorからRGBを得る方法ってあるんだねってお話だよ。

コード内部で色の情報をみんなどうやって持たせてるんだろ?
例えばUIColorとして次みたいに記述するでしょ:
#define MAIN_COLOR [UIColor colorWithRed:0.744 green:0.112 blue:0.330 alpha:1.000] 
こういうのをずらずらーっと用意しとけば管理もラクチンなんだけど、いざ使おうって時に
CGContextSetRGBStrokeColor(context, red, green, blue , 1.0);
こんなのだとRGBの値がいるんだよね。するとUIColorオブジェクトからRGBの各値を取り出す必要があるんだけど、これがどうもすんなりとは行かないんだ。だから俺が書いた昔のコード(ターゲットがiOS 4.0からとか)なんかは使い方によってUIColorじゃない方法:
#define MAIN_COLOR 0x805030
で記述してたりするんだ。間抜けだねえ。手抜きだねえ。

何かないの~?って探してみたらさ、こんな記事があったんだ。

EZ-NET: UIColor から RGB を取得する : Objective-C プログラミング
あるんじゃない!
[color getRed:&red green:&green blue:&blue alpha:&alpha];
ここでcolorはUIColorオブジェクトだよ。これでRGBとalpha値も取れたよ、ブラボー!これでコードがスッキリするよ!
ただ、このメソッドはiOS 5以降なので注意が必要だけどね。

冷静に考えればcolor.redとかでいいでしょ?って思うんだけどなんでないんだろうね?

<< 英語で"コードを書く"ってどう表現する?  TopPage  線の両端を丸くする方法 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/595-30439539




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad