Name a color
An example showing how to get color name from RGB using Tizen 2.3.
var rgbToHsv = function(rgb) {
var r = rgb[0];
var g = rgb[1];
var b = rgb[2];
r /= 255, g /= 255, b /= 255;
var max = Math.max(r, g, b),
min = Math.min(r, g, b);
var h, s, v = max;
var d = max - min;
s = max === 0 ? 0 : d / max;
if (max == min) {
h = 0;
} else {
switch (max) {
case r:
h = (g - b) / d + (g < b ? 6 : 0);
break;
case g:
h = (b - r) / d + 2;
break;
case b:
h = (r - g) / d + 4;
break;
}
h /= 6;
}
return [h * 360, s * 100, v * 100];
};
var nameColor = function(rgb) {
var hues = [
[0, 'Red'],
[15, 'Orange'],
[40, 'Yellow'],
[80, 'Green'],
[170, 'Blue'],
[270, 'Violet'],
[320, 'Red']
];
var hsv = rgbToHsv(rgb);
var h = hsv[0],
s = hsv[1],
v = hsv[2],
lightness = '';
if (v < 20) {
return 'Black';
}
if (s < 10) {
if (v < 50) {
return 'Dark Gray';
} else if (v >= 50 && v < 90) {
return 'Gray';
} else {
return 'White';
}
}
if (v < 75) {
lightness = 'Dark';
} else {
if (s < 75) {
lightness = 'Light';
}
}
var colorByHue = hues[0][1];
for (var i = 1; i < hues.length; i++) {
if (h >= hues[i][0]) {
colorByHue = hues[i][1];
} else {
break;
}
}
return (lightness + ' ' + colorByHue).trim();
};
nameColor([255, 0, 0]); // Red