【问题标题】:Color.GetHue(), Color.GetBrightness(), Color.GetSaturation() do not seem to provide the correct valuesColor.GetHue()、Color.GetBrightness()、Color.GetSaturation() 似乎没有提供正确的值
【发布时间】:2019-02-10 11:00:09
【问题描述】:

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

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

  • RGB
  • HSL

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

  • RGB
  • HSL
    • 缩放到图像编辑器单位:

我的问题是:

  • HSL 和 C# 使用的有区别吗?
  • 如果有,如何适应?

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

【问题讨论】:

  • 你是如何加载Color的?有什么代码可以展示吗?
  • Photoshop 将此颜色读取为 6,44,88 HSB(不是 HSL!!)
  • 顶部是HSV,底部是HSL
  • 啊谢谢 :) 这就是混淆

标签: c# colors hsl


【解决方案1】:

使用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。

【讨论】:

    猜你喜欢
    • 2013-09-21
    • 2017-06-21
    • 2010-09-08
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 2023-03-28
    相关资源
    最近更新 更多