Color.GetHue(),Color.GetBrightness(),Color.GetSaturation()似乎没有提供正确的值

时间:2019-02-10 11:00:10

标签: c# colors hsl

根据Microsoft's documentation,问题标题中提到的三种方法均符合HSL标准。但是,这些方法无法提供正确的HSL值。

例如:我使用Lenna作为测试图像。当我分析图像编辑器中的左上方像素(位置<0,0>时,它具有以下值:

  • RGB <225、137、127>
  • HSL <6,43,88>

但是我的Color对象得出以下结论:

  • RGB <225、137、127>
  • HSL <6.12 ...,0.62 ...,0.69 ...>
    • 缩放为图像编辑器单位:<6,62,69>

我的问题是:

  • HSL与使用的C#之间有区别吗?
  • 如果是,该如何容纳?

P.S .:我正在使用paint.net作为图像编辑器。

1 个答案:

答案 0 :(得分:3)

使用this helpful website

RGB:       <225, 137, 127>
HSL (A):   <6.12, 62.03, 69.02>
HSV / HSB: <6.12, 43.56, 88.24>

我们可以断定Color使用的是HSL,而paint.net使用的是HSV / HSB。公平地说,paint.net确实表示它正在使用HSV。