Color.GetHue()、Color.GetBrightness()、Color.GetSaturation() 似乎没有提供正确的值
Color.GetHue(), Color.GetBrightness(), Color.GetSaturation() do not seem to provide the correct values
根据Microsoft's documentation,问题标题中提到的三种方法都符合HSL标准。然而,这些方法没有提供正确的 HSL 值。
例如:我使用Lenna作为测试图片。当我在图像编辑器中分析左上像素(位置 <0,0> 时,它具有以下值:
- RGB <225, 137, 127>
- HSL <6, 43, 88>
但是我的 Color
object 得出以下结论:
- RGB <225, 137, 127>
- HSL <6.12..., 0.62..., 0.69...>
- 缩放到图像编辑器单位:<6、62、69>
我的问题是:
- HSL 和 C# 使用的有区别吗?
- 如果有,如何适应?
P.S.: 我正在使用 paint.net 作为图像编辑器。
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。
根据Microsoft's documentation,问题标题中提到的三种方法都符合HSL标准。然而,这些方法没有提供正确的 HSL 值。
例如:我使用Lenna作为测试图片。当我在图像编辑器中分析左上像素(位置 <0,0> 时,它具有以下值:
- RGB <225, 137, 127>
- HSL <6, 43, 88>
但是我的 Color
object 得出以下结论:
- RGB <225, 137, 127>
- HSL <6.12..., 0.62..., 0.69...>
- 缩放到图像编辑器单位:<6、62、69>
我的问题是:
- HSL 和 C# 使用的有区别吗?
- 如果有,如何适应?
P.S.: 我正在使用 paint.net 作为图像编辑器。
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。