1 REM RGB (red green blue) to HSV (hue saturation value) 10 LET r = 49 20 LET g = 118 30 LET b = 197 100 REM lowest value 105 IF (r < g) AND (r < b) THEN 125 110 IF (g < r) AND (g < b) THEN 135 115 LET min = b 120 GOTO 200 125 LET min = r 130 GOTO 200 135 LET min = g 200 REM highest value 205 IF (r > g) AND (r > b) THEN 225 210 IF (g > r) AND (g > b) THEN 235 215 LET max = b 220 GOTO 300 225 LET max = r 230 GOTO 300 235 LET max = g 300 REM value 305 LET v = max / 255 400 IF (max = 0) THEN 440 410 LET delta = max - min 420 LET s = delta / max 430 GOTO 500 440 LET s = 0 450 LET h = -1 460 GOTO 1000 500 IF (r = max) THEN 540 510 IF (g = max) THEN 560 520 LET h = 4 + (r - g) / delta 530 GOTO 600 540 LET h = (h - b) / delta 550 GOTO 600 560 LET h = 2 + (b - r) / delta 600 LET h = h * 60 610 IF (h >= 0) THEN 1000 620 LET h = h + 360 1000 PRINT "RGB("; r; " "; g; " "; b;") = HSV("; INT(h);"° "; INT(s*100);"% "; INT(v*100);"%)" 1010 END
Return to Example Index