異常な結果を得の色成分の一部UIColors
-
23-08-2019 - |
質問
ようにしているのrgb成分の UIColor
するための手のピクセル CGBitmapContext
.以下のサンプルコードで動作し、 UIColor
定数が紛らわしい外観はます。るwit:
CGColorRef color = [[UIColor yellowColor] CGColor];
const float* rgba = CGColorGetComponents(color);
float r = rgba[0];
float g = rgba[1];
float b = rgba[2];
float a = rgba[3];
NSLog( @"r=%f g=%f b=%f a=%f", r, g, b, a);
の結果 [UIColor yellowColor]
上記
r=1.000000g=1.000000b=0.000000a=1.000000,
として期待される。
[UIColor redColor]
与
r=1.000000g=0.000000b=0.000000a=1.000000,
として期待される。同様に、 blueColor
や greenColor
.
しかし, の結果 [UIColor blackColor]
や [UIColor whiteColor]
も完全に異常が、どうなるかはわからないしかったので、良かった間違いが実際にいます。
るwit, [UIColor blackColor]
与
r=0.000000g=1.000000b=0.000000a=0.000000,
であるtranparent緑
や [UIColor whiteColor]
与
r=1.000000g=1.000000b=0.000000a=0.000000,
である透明な黄色となります。
いま自分がその気にさえなればならない。
(1)説明になっている間違い
(2)私の複製異常の結果といいはじめましての人ははじめまして
(3)僕らの日本に大きなハンマーで停止を傷つけなんだ。
ハワード
解決
あなたは色空間が必ずしもそうではありませんRGBA、であると仮定されます。
このコードを試してみてください。
CGColorRef color = [[UIColor blackColor] CGColor];
const CGFloat* rgba = CGColorGetComponents(color);
CGColorSpaceRef space = CGColorGetColorSpace(color);
CGColorSpaceModel model = CGColorSpaceGetModel(space);
NSLog(@"%d", model);
そして、モデルはkCGColorSpaceModelMonochrome
を得られます。
他のヒント
と思うものが欠落している色で定義された異なるカラースペース:いと仮定しているすべてのRGBA.
例えば、 のドキュメント 状態 blackColor
"を返します色のオブジェクトグレースケール値が0.0、その者のアルファ値が1.0です。と思いつの成分が有効なブラック、ないです。