web-dev-qa-db-ja.com

0から1スケールのrgb値

RGB colorsから(0 - 255)スケールの01を計算しようとしています。誰もがオンラインコンバーターを知っていますか、それは数学の式が存在しますか?

(0から255のスケール)の125 RGBを0から1のスケールに変換したいとしましょう。

27
el.severo

これは単にRGB値を除算する場合で、xを255で呼び出します。

x = 95その後、値は95/255 = 0.373(3 d.p.まで)

55
Widor
a = x / 255

または

x = a * 255

ここで、xはRGB値であり、aは希望する結果です。

8
Sirko

引き続き0〜255を使用する場合は、次の例のようにこのための関数を作成できます。

function setFillColor2(...)
   local object,r,b,g=...
   object:setFillColor( r/255, b/255,g/255)
end

circle1 = display.newCircle(150,250, 50 ) 
setFillColor2(circle1,23,255,12)
1
Jose Melendez

0-1の場合は255で、0の場合は256で除算する場合の最も簡単な方法-1未満のビットには、場合によっては利点があります。もちろん、整数演算ではなく、固定小数点または浮動小数点で除算を行う必要があります。

ただし、実際には0〜255のrgbチャネル値に対する人間の応答は線形ではなく、デバイスの応答も線形ではありません。多くの場合、ガンマ補正を行う必要があります。それはすべて非常に迅速に関与し、通常は低価格のグラフィックスにとっては重要ではありません。ただし、ハイエンドグラフィックスの場合、多くの場合、RGBカラースペースを完全に使いたくない場合があり、最終的にRGBピクセルをフラッシュするために非線形変換関数が必要になります。

0
Malcolm McLean