0

このような RGB でロゴを作成する必要があり、グレースケールでは 1 つの色のように見える必要があります。

つまり、50AA1E、2B94FF、およびグレースケールの D16E00 は 808080 です。

RGB カラーをグレーに変換する式はありますか?

前もって感謝します。

4

1 に答える 1

1

変換アルゴリズムは次のようです。

Grey = NearestInteger(R*0.3 + G*.59 + B*.11)

50AA1E -> 80,  170, 30  -> 80*0.3  + 170*0.59 + 30*0.11  -> 24   + 100.3 + 3.3   = 127.6  -> hex(127.6)  = 80
2B94FF -> 43,  148, 255 -> 43*0.3  + 148*0.59 + 255*0.11 -> 12.9 + 87.32 + 28.05 = 128.27 -> hex(128.27) = 80
D16E00 -> 209, 110, 0   -> 209*0.3 + 110*0.59 + 0*0.11   -> 62.7 + 64.9  + 0     = 127.6  -> hex(127.6)  = 80

これは光度に基づく変換形式であり、PAL および NTSC で使用されるモデルに非常に近い (完全ではない) ものです。

他のグレースケール変換式をいくつか試しましたが、指定されたテスト データに適合するのはこれだけでした。

于 2013-09-03T18:08:49.157 に答える