From 5c7526cf7c55b734cec7bd6a4dede360fb360bfd Mon Sep 17 00:00:00 2001 From: "devil.tamachan" Date: Thu, 18 Feb 2016 22:46:00 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bz/hsv.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Bz/hsv.c b/Bz/hsv.c index 6f119c1..e9499dc 100644 --- a/Bz/hsv.c +++ b/Bz/hsv.c @@ -74,9 +74,13 @@ COLORREF hsv2rgb(hsv_t* hsv) { BYTE r, g, b; + if(hsv->hue < 0)hsv->hue=0; + else if(hsv->hue > 360*HUE_DEGREE-1)hsv->hue = 360*HUE_DEGREE-1; + + r = g = b = hsv->value; if(hsv->saturation == 0) { - r = g = b = hsv->value; + //r = g = b = hsv->value; } else { int h = hsv->hue; int s = hsv->saturation; @@ -87,16 +91,16 @@ hsv2rgb(hsv_t* hsv) if(i & 1) { int q = (256*60*HUE_DEGREE*v - h*s*v + 60*HUE_DEGREE*s*v*i) / (256*60*HUE_DEGREE); switch(i) { - case 1: r = q; g = v; b = p; break; - case 3: r = p; g = q; b = v; break; - case 5: r = v; g = p; b = q; break; + case 1: r = q; b = p; break; + case 3: r = p; g = q; break; + case 5: g = p; b = q; break; } } else { int t = (256*60*HUE_DEGREE*v + h*s*v - 60*HUE_DEGREE*s*v*(i+1)) / (256*60*HUE_DEGREE); switch(i) { - case 0: r = v; g = t; b = p; break; - case 2: r = p; g = v; b = t; break; - case 4: r = t; g = p; b = v; break; + case 0: g = t; b = p; break; + case 2: r = p; b = t; break; + case 4: r = t; g = p; break; } } } -- 2.22.0