Browse Source

Fix RGB <-> HSV conversion.

4.1
Daniel Grunwald 14 years ago
parent
commit
f9dfd7811c
  1. 3
      src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ColorHelper.cs

3
src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ColorHelper.cs

@ -61,6 +61,8 @@ namespace ICSharpCode.SharpDevelop.Widgets @@ -61,6 +61,8 @@ namespace ICSharpCode.SharpDevelop.Widgets
else {
h = 60 * (r - g) / (max - min) + 240;
}
if (h < 0) h += 360; // C# '%' can return negative values, use real modulus instead
if (max == 0) {
s = 0;
@ -76,6 +78,7 @@ namespace ICSharpCode.SharpDevelop.Widgets @@ -76,6 +78,7 @@ namespace ICSharpCode.SharpDevelop.Widgets
public static void RgbFromHsv(double h, double s, double v, out double r, out double g, out double b)
{
h = h % 360;
if (h < 0) h += 360; // C# '%' can return negative values, use real modulus instead
int hi = (int)(h / 60) % 6;
var f = h / 60 - (int)(h / 60);
var p = v * (1 - s);

Loading…
Cancel
Save