UIColorからRGBA値を取得する

公開: 2015-02-26 02:24
更新: 2016-04-29 06:02

こんにちは。あっきぃさんです。


最近またよく夢を見ます。
夢を見るのは眠りが浅い時らしいのできっと眠りが浅いのです。

もうすぐ春だからかあっきぃさんも意味もなくテンションが上がっているのでしょう。きっと。



さてとポテト。

UIColorからRGBA値を取りたいです。


そんな時は「CGColorGetComponents」を使いましょう。

UIColor *color = [UIColor orangeColor];
const CGFloat *components = CGColorGetComponents(color.CGColor);
NSLog(@"%lf,%lf,%lf,%lf", components[0], components[1], components[2], components[3]);

これを実行すると...

1.000000,0.500000,0.000000,1.000000

となります。左からR、G、B、Aです。

簡単ですね。



ところでなんでUIColorからRGBA値が必要なんですか。

もしかして...

const CGFloat *components = CGColorGetComponents(color.CGColor);
CGContextSetRGBFillColor(context, components[0], components[1], components[2], components[3]);

こんな感じでCGContextで使ってませんか。

でしたらこっちの関数がオススメです。

CGContextSetFillColorWithColor(context, color.CGColor);

CGContext系はRGBA値で代入するものと、
CGColorを代入するもの両方用意してあるので、こちらを使用した方がミスが少なくていいと思いまする。



ではでは。



この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。