The Color API est, comme son nom l'indique, une API permettant d'obtenir des informations sur une couleur en particulier. Découvrons ce qu'elle propose et comment l'utiliser.
Pour certains projets, il est nécessaire de convertir des couleurs hexadécimales au format CMYK ou autre. The Color API permet d'effectuer cette tâche, entres autres.
Vous pouvez interroger l'API opensource en lui passant soit une valeur hexadécimale, RGB, HSL, HSV ou XYZ.
Pour une couleur de départ en hexa, il faut utiliser le paramètre "hex" :
https://www.thecolorapi.com/id?hex=FF9C00
Pour une en RGB :
https://www.thecolorapi.com/id?rgb=rgb(255,156,0)
ou
http://www.thecolorapi.com/id?rgb=255,156,0
Le principe est identique pour les autres modes (cmyk, hsl, hsv, xyz).
Plusieurs formats de retour sont disponibles : JSON (par défaut), HTML ou SVG (image seulement).
Le retour est alors très complet. Chaque mode de couleur est présent, de façon décomposée :
https://www.thecolorapi.com/id?hex=FF9C00
{
"hex": {
"value": "#FF9C00",
"clean": "FF9C00"
},
"rgb": {
"fraction": {
"r": 1,
"g": 0.611764705882353,
"b": 0
},
"r": 255,
"g": 156,
"b": 0,
"value": "rgb(255, 156, 0)"
},
"hsl": {
"fraction": {
"h": 0.10196078431372546,
"s": 1,
"l": 0.5
},
"h": 37,
"s": 100,
"l": 50,
"value": "hsl(37, 100%, 50%)"
},
"hsv": {
"fraction": {
"h": 0.10196078431372546,
"s": 1,
"v": 1
},
"value": "hsv(37, 100%, 100%)",
"h": 37,
"s": 100,
"v": 100
},
"name": {
"value": "Orange Peel",
"closest_named_hex": "#FFA000",
"exact_match_name": false,
"distance": 16
},
"cmyk": {
"fraction": {
"c": 0,
"m": 0.388235294117647,
"y": 1,
"k": 0
},
"value": "cmyk(0, 39, 100, 0)",
"c": 0,
"m": 39,
"y": 100,
"k": 0
},
"XYZ": {
"fraction": {
"X": 0.6311670588235294,
"Y": 0.6501341176470589,
"Z": 0.09222235294117648
},
"value": "XYZ(63, 65, 9)",
"X": 63,
"Y": 65,
"Z": 9
},
"image": {
"bare": "http://www.thecolorapi.com/id?format=svg&named=false&hex=FF9C00",
"named": "http://www.thecolorapi.com/id?format=svg&hex=FF9C00"
},
"contrast": {
"value": "#000000"
},
"_links": {
"self": {
"href": "/id?hex=FF9C00"
}
},
"_embedded": {}
}
A la fin du retour, on peut voir une entrée "image". Deux versions au format SVG sont proposées, une avec seulement la couleur en fond, l'autre également mais avec le nom de la couleur incrustée.
L'autre particularité de The Color API est qu'elle permet d'obtenir une palette (color scheme), suivant un mode précis (monochrome, triad, quad, ...) à partir d'une couleur (par exemple : https://www.thecolorapi.com/scheme?hex=FF9C00&mode=monochrome&count=5).
La documentation de The Color API est complète et décrit tous les cas de figure existants.