質問
なんだろうけど、日本人のわかりやすく伝えるためのHSLからlinearRGB色(なsRGBカラー)?私は見ている多くのsRGB<->HSLの変換がもたlinearRGB<->HSL.だかfundementallyと同じ変換届がいい感謝の意見の人がこれです。
リニアRGBと同じではありませんlinearizing sRGBで取0,255]と[0,1]).リニアRGB変換からsRGBは、 http://en.wikipedia.org/wiki/SRGB.にVBAになり得るかということですが、表現については、線形sRGB値[0,1]):
Public Function sRGB_to_linearRGB(value As Double)
If value < 0# Then
sRGB_to_linearRGB = 0#
Exit Function
End If
If value <= 0.04045 Then
sRGB_to_linearRGB = value / 12.92
Exit Function
End If
If value <= 1# Then
sRGB_to_linearRGB = ((value + 0.055) / 1.055) ^ 2.4
Exit Function
End If
sRGB_to_linearRGB = 1#
End Function
Public Function linearRGB_to_sRGB(value As Double)
If value < 0# Then
linearRGB_to_sRGB = 0#
Exit Function
End If
If value <= 0.0031308 Then
linearRGB_to_sRGB = value * 12.92
Exit Function
End If
If value < 1# Then
linearRGB_to_sRGB = 1.055 * (value ^ (1# / 2.4)) - 0.055
Exit Function
End If
linearRGB_to_sRGB = 1#
End Function
しかし送りにリニアRGB値を標準RGB_to_HSL ールしなければならないからHSL_to_RGBするものではありません。その他なんでも現在のHSL<->RGBアルゴリズムのウガンマ補正、線形RGBなガンマ補正しか分からないそうですね。私はほとんど見ることのない参照のことときを除:
- 参考に http://en.wikipedia.org/wiki/HSL_and_HSV#cite_note-9 (商品番号10).
- 参照オープンソース プロジェクトGrafx2@ http://code.google.com/p/grafx2/issues/detail?id=63#c22 の貢献と これまでリニアRGB <->HSL 変換を提供するCコードのアタッチメントをコメントされました。diffファイル (なんか読み:()
私の意図は:
- 送信からsRGB(例えば、
FF99FF
(R=255, G=153, B=255
) リニアRGB(R=1.0, G=0.318546778125092, B=1.0
)- 使用上記のコード(たとえば、
G=153が得られたリニア
RGBから
sRGB_to_linearRGB(153 / 255)
)
- 使用上記のコード(たとえば、
G=153が得られたリニア
RGBから
- にHSL
- 変更-調節の飽和による 350%
- 送信からHSL->リニア
RGB->sRGBをとるという結果に
FF19FF
(R=255, G=25, B=255
).
使用可能となります。当期純など .getHue
から System.Drawing.Color
動作しない任意のsRGB領域上の100%の変調のHSL値、そのために必要な線形RGBい合わせることではなくsRGB.
解決
なんでみたいという気持ちになり感への変換にはリニアRGB、HSLによって定義されるガンマ線符号化された値です。代わりに、ご自身の機能変換sRGBにHSL,変調の飽和度とその値が可能となるの幅広飽和値に変換して返sRGB、クランプ強度のsRGB範囲又はdisallowing飽和度の変化することで符号化されたsRGB).
他のヒント
の システム。Windowsの場合です。メディア色 クラスまたはセットscRGBよScA ScR,ScG,ScB性、またはRGBを介して、R,G,B物件です。
でき換RGB HSLを操作ることに変換して、バRGBに色のインスタンス.きを読出し、変換scRGBます。
理想的なものではなく、ある一部の情報の損失です。ものです。
に基づくコメント こちらの, お問いて、変換誤;ですが逐次変換が量子化値です。つまり、考結果のsRGB=>RGB=>HSL=>HSL=>RGB=>sRGBそれを使用すること、それ以降の色。最も簡単な方法で維持-精度を常に周りのRGB値と蓄積の変化HSL空間です。そのように、常に適用さHSLスペースを利用したオリジナルカラーやんの心配を繰り返し処理量値です。
は この す。多くの興味深いリンクにかかる作品だ。