在 C# 中旋转色调

Jam*_*uth 5 c# gdi+

我正在寻找复制这里找到的 CSS3 色调旋转行为

原图

原图

色调旋转 180 度的图像

色调旋转 180 度的图像

我已经可以准确地将 RGB 值转换为 HSL 值然后再转换回来,但我不确定应用于色调分量以复制输出的数学函数是什么。

Guf*_*ffa 5

添加。

就这么简单,只需将色调值加 180,然后确保它在 360 处环绕:

hue = (hue + 180) % 360;
Run Code Online (Sandbox Code Playgroud)

  • @Mephy:它通常以度数表示。 (2认同)
  • @Mephy 可以在 [MSDN: Color.GetHue Method](http://msdn.microsoft.com/en-us/library/system.drawing.color.gethue(v=vs.110) ).aspx) “_.. 获取色调-饱和度-亮度 (HSB) 色调值,以度为单位.._”,源代码位于 http://referencesource.microsoft.com/#System.Drawing/commonui/System/ Drawing/Color.cs “通常”的另一个例子是在 http://stackoverflow.com/questions/3018313/algorithm-to-convert-rgb-to-hsv-and-hsv-to-rgb-in-range-0 -255-两者 (2认同)