1

16 進数の値を RGB 値に変換するために 16 進数の計算機を使用しています ( #666 = 102/102/102 など)。

ただし、これを UIColor で使用することはできないようですが、[UIColor colorWithRed:102 green:102 blue:102 alpha: 1.0]白を返すようです (60 も試してみました)。[UIColor colorWithWhite: 0.6 alpha:1.0] を使用すると暗い色になります。102/102/102 のような値を colorWithWhite 値に変換するにはどうすればよいですか?

私が試した方法は、その値を 255 で割ることです。つまり、102/255 = 0.4 なので、colorWithWhite値を 0.4 に設定します。それは正確ですか?

4

1 に答える 1

1

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha

パラメータ: red - color オブジェクトの赤コンポーネント。0.0 から 1.0 の値で指定します。

green - color オブジェクトの緑のコンポーネント。0.0 から 1.0 の値として指定します。

blue - 0.0 から 1.0 までの値として指定された、カラー オブジェクトの青のコンポーネント。

alpha - 0.0 から 1.0 までの値として指定された、カラー オブジェクトの不透明度の値。

したがって、RGB 値を 0.0 から 1.0 の間に変換するには、#/255 を実行します。

編集:あなたの編集に応じて、はい、それは正しいです。ただし、コードでこれを行うと、整数除算を行っているため、0 になることに注意してください。255 を float 変数にするか、定数 255.f を使用します。

于 2012-10-12T00:05:17.680 に答える