質問

なんだろうけど、日本人のわかりやすく伝えるための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なガンマ補正しか分からないそうですね。私はほとんど見ることのない参照のことときを除:

  1. 参考に http://en.wikipedia.org/wiki/HSL_and_HSV#cite_note-9 (商品番号10).
  2. 参照オープンソース プロジェクトGrafx2@ http://code.google.com/p/grafx2/issues/detail?id=63#c22 の貢献と これまでリニアRGB <->HSL 変換を提供するCコードのアタッチメントをコメントされました。diffファイル (なんか読み:()

私の意図は:

  1. 送信から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))
  2. にHSL
  3. 変更-調節の飽和による 350%
  4. 送信から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スペースを利用したオリジナルカラーやんの心配を繰り返し処理量値です。

この す。多くの興味深いリンクにかかる作品だ。

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