Color.GetHue (), Color.GetBrightness (), Color.GetSaturation (), по-видимому, не обеспечивают правильные значения - PullRequest
0 голосов
/ 10 февраля 2019

Согласно документации Microsoft три метода, упомянутые в названии вопроса, соответствуют стандарту 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 #?
  • Если да, то как это сделать?

PS: я использую paint.net в качестве редактора изображений.

1 Ответ

0 голосов
/ 10 февраля 2019

Используя этот полезный веб-сайт :

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.

...