]> git.imager.perl.org - imager.git/blobdiff - color.c
make sure we have alarm() support
[imager.git] / color.c
diff --git a/color.c b/color.c
index ab33bfc194c7c3b297171a27d4aaa33e2fd4ca9e..d83d8660016826e0f7682e8ccfc9847ef1a6016f 100644 (file)
--- a/color.c
+++ b/color.c
@@ -173,13 +173,14 @@ void i_hsv_to_rgb(i_color *color) {
   }
   else {
     int i;
-    double f, m, n, k;
+    double f;
+    int m, n, k;
     h = h / 255.0 * 6;
     i = h;
     f = h - i;
-    m = v * (255 - s) / 255;
-    n = v * (255 - s * f) / 255;
-    k = v * (255 - s * (1 - f)) / 255;
+    m = 0.5 + v * (255 - s) / 255;
+    n = 0.5 + v * (255 - s * f) / 255;
+    k = 0.5 + v * (255 - s * (1 - f)) / 255;
     switch (i) {
     case 0:
       color->rgb.r = v; color->rgb.g = k; color->rgb.b = m;