質問

ようにしているの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, として期待される。同様に、 blueColorgreenColor.

しかし, の結果 [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です。と思いつの成分が有効なブラック、ないです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top