Convertisseur HSL vers CMJN
Passez d’une teinte HSL aux encres de quadrichromie en une fois : teinte 210, saturation 80 % et luminosité 45 % donnent cyan 89 %, magenta 44 %, jaune 0 % et noir 19 %, via RVB 23, 115, 207. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- H
- 210
- S
- 80
- L
- 45
- Résistance (Ω)
- 23
- G
- 115
- B
- 207
- Cyan
- 89
Les designers choisissent souvent les couleurs en HSL parce que teinte, saturation et luminosité correspondent à la façon de parler d'un échantillon : quelle couleur sur la roue, à quel point elle est vive, et à quel point elle se rapproche du noir ou du blanc. Les imprimeries, les fournisseurs d'emballage et les bons de presse demandent encore le cyan, le magenta, le jaune et le noir (key) en pourcentages. Ce convertisseur HSL vers CMJN prend ces trois nombres HSL, les projette par sRGB selon le même chemin de forme fermée que les navigateurs utilisent pour hsl(), puis applique la formule soustractive des manuels, afin que vous puissiez prévisualiser les encres de process sans ouvrir une suite complète de gestion des couleurs. Une saturation ou une luminosité invalide est rejetée avec une erreur claire au lieu d'être écrêtée en silence, pour qu'un pourcentage mal saisi ne devienne jamais un bon de presse erroné.
Comment HSL devient CMJN en passant par le RVB
HSL est un modèle cylindrique conçu pour les personnes : la teinte est un angle sur la roue des couleurs, la saturation indique l'éloignement du gris, et la luminosité indique la proximité du noir ou du blanc. Le CMJN est un modèle soustractif conçu pour l'encre sur papier : cyan, magenta et jaune absorbent la lumière, et le noir (key) approfondit ombres et texte sans empiler trois encres colorées.
Il n'existe pas de formule fermée unique qui saute de teinte-saturation-luminosité aux encres de process tout en restant fidèle à l'écran, c'est pourquoi ce convertisseur emprunte le chemin en deux étapes que les outils d'aperçu d'impression utilisent depuis des décennies. Il convertit d'abord HSL en sRGB huit bits avec l'algorithme du CSS Color Module : il met saturation et luminosité sur l'intervalle unitaire, calcule les bornes intermédiaires p et q, puis échantillonne trois positions décalées sur le cercle unitaire avec l'auxiliaire classique hue2rgb.
Lorsque la saturation vaut zéro, les trois canaux s'effondrent sur le même gris dérivé de la luminosité. Chaque canal de l'intervalle unitaire est multiplié par deux cent cinquante-cinq et arrondi à l'entier le plus proche, afin que le triplet RVB corresponde au rendu hsl() du navigateur et au convertisseur frère HSL vers RGB. Il traite ensuite ces entiers comme de la lumière additive, divise chacun par deux cent cinquante-cinq, fixe le noir (key) à un moins le maximum des trois canaux normalisés, et déduit cyan, magenta et jaune du reste.
Un noir pur devient cent pour cent de key avec zéro encre colorée. Ce déterminisme rend fiables les tableaux d'aperçu, les tests de référence et les widgets côté client.
Ce que vous envoyez, ce que vous recevez, et pourquoi saturation ou luminosité peuvent échouer
Envoyez trois nombres finis sous les champs h, s et l. Le champ h est la teinte en degrés et doit se situer entre zéro et trois cent soixante inclus. Les champs s et l sont la saturation et la luminosité en pourcentages de zéro à cent.
Une saturation hors de l'intervalle fermé de zéro à cent est rejetée avec un message qui nomme le champ s, afin qu'un client puisse mettre en évidence le contrôle de saturation au lieu de deviner. Une luminosité hors de cette même bande échoue de la même façon pour le champ l.
Le convertisseur n'écrête pas cent vingt pour cent à cent, et n'enroule pas une luminosité négative : un aperçu d'impression qui réparerait une faute de frappe en silence serait pire qu'une erreur, car l'opérateur croirait que le bon correspond au jeton de design. Une teinte hors de zéro à trois cent soixante est également rejetée plutôt qu'enroulée modulo trois cent soixante.
En cas de succès, la réponse renvoie les valeurs h, s et l nettoyées, les canaux entiers intermédiaires r, g et b chacun de zéro à deux cent cinquante-cinq, les quatre pourcentages d'impression cyan, magenta, yellow et key, une chaîne cmyk imprimable de la forme cmyk(C%, M%, Y%, K%), et une courte note de formule qui nomme les deux étapes.
Les contrôles classiques comprennent le rouge pur en teinte zéro, saturation cent, luminosité cinquante, qui donne cyan zéro, magenta cent, jaune cent, key zéro ; le noir avec n'importe quelle teinte et luminosité zéro, qui donne key cent ; et le blanc avec luminosité cent, qui donne des zéros partout. Servez-vous du formulaire gratuit du navigateur pour une revue d'échantillon, puis appelez le contrat identique depuis des scripts lorsque vous avez besoin d'un tableau de jetons HSL du design system transformés en colonnes d'encre de process.
Où un aperçu HSL vers CMJN trouve sa place
Les systèmes de marque stockent souvent rampes et jetons sémantiques en HSL afin que les équipes produit fassent tourner la teinte pour des thèmes saisonniers tout en gardant des paliers de luminosité qui passent encore les contrôles de contraste. Ces mêmes jetons apparaissent ensuite sur l'emballage, la papeterie, le covering de véhicules et les imprimés de point de vente, où le formulaire du fournisseur demande cyan, magenta, jaune et noir.
Un convertisseur dédié HSL vers CMJN permet à un pipeline d'opérations design de remplir ces colonnes sans demander à chaque designer d'ouvrir un sélecteur de couleur de bureau et de copier quatre nombres à la main. Les équipes marketing qui vivent dans des outils favorables à HSL ont encore besoin d'un premier regard sur les encres de process avant que le fichier parte à la presse ; cette page est ce premier regard, non un substitut à un épreuvage écran profilé ICC de la photographie.
Les cursus et les cours de production imprimée enseignent les modèles additif et soustractif côte à côte et ont besoin d'un oracle unique fidèle au rendu CSS à l'étape RVB et à la formule de key des manuels à l'étape CMJN. Les configurateurs de jeux et de produits exposent une roue de teinte à l'acheteur et doivent verser du CMJN dans une fiche merchandising lorsque la même couleur est imprimée sur une boîte.
Traitez un besoin ultérieur de CMJN vers RVB, d'un convertisseur multi-formats ou d'un vérificateur de contraste comme une autre intention de recherche et une autre page. Cette page existe pour que la requête convertisseur hsl vers cmjn ait une réponse honnête et déterministe qui ne prétend jamais être un profil de presse.
Cas d’usage
Jetons de design vers bons de presse
Transformez des rampes de marque HSL en pourcentages cyan, magenta, jaune et noir pour fiches d'emballage, papeterie et formulaires fournisseurs.
Contrôle d'aperçu avant remise
Vérifiez qu'une maquette HSL correspond aux encres de process attendues avant le départ du fichier à la presse, sans écrêtage silencieux.
Questions fréquentes
Comment ce convertisseur transforme-t-il HSL en CMJN ?
Il projette d'abord teinte, saturation et luminosité en sRGB 8 bits via le chemin CSS / W3C hue2rgb, puis applique la formule soustractive des manuels : le noir (key) vaut un moins le canal normalisé le plus lumineux, et cyan, magenta et jaune complètent le reste.
Que se passe-t-il si la saturation ou la luminosité est hors plage ?
La saturation s et la luminosité l doivent chacune se situer entre 0 et 100 pour cent inclus. Les valeurs ne sont ni écrêtées ni enroulées, afin qu'un pourcentage mal saisi ne devienne pas un bon de presse erroné.
Est-ce la même chose qu'un profil ICC de presse ?
Non. Il s'agit d'un aperçu d'impression déterministe relatif à sRGB, avec la formule classique RVB vers CMJN. L'épreuvage écran d'une photographie contre un profil de presse nommé est un autre flux et un autre outil.
Pourquoi le résultat inclut-il des canaux RVB en plus du CMJN ?
La conversion passe volontairement par sRGB. Renvoyer r, g et b vous permet de confirmer que l'intermédiaire correspond à un échantillon hsl() du navigateur avant de copier la chaîne cmyk() dans une note de presse.
Combien coûte le convertisseur HSL vers CMJN ?
L'outil du navigateur est gratuit et s'exécute en local.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/color/hsl-cmyk \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"h":210,"s":80,"l":45}'const res = await fetch("https://api.kit.forhosting.com/color/hsl-cmyk", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"h": 210,
"s": 80,
"l": 45
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hsl-cmyk",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"h": 210,
"s": 80,
"l": 45
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hsl-cmyk", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"h":210,"s":80,"l":45}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"h":210,"s":80,"l":45}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hsl-cmyk", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"h": 210,
"s": 80,
"l": 45
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hsl_cmyk",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
L'outil gratuit du navigateur et l'API partagent une seule fonction déterministe, de sorte qu'une revue de design et un pipeline d'automatisation ne divergent jamais sur le même triplet HSL.
Comment HSL devient CMJN en passant par le RVB
Toute la chaîne est une arithmétique à virgule flottante pure, sans graine aléatoire, sans horodatage et sans appel réseau, si bien que des entrées HSL identiques produisent toujours le même JSON.
Ce que vous envoyez, ce que vous recevez, et pourquoi saturation ou luminosité peuvent échouer
Les champs manquants, les chaînes vides, les jetons non numériques, NaN et Infinity échouent avec invalid_input et ne sont pas facturés. Le tarif des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.
Où un aperçu HSL vers CMJN trouve sa place
Comme cette capacité est un moteur de parse pur, le tarif API est la base publiée de $0.002 par élément réussi et une validation échouée ne consomme pas le solde.
Cas d'intégration
Pipelines de jetons en lot
Automatisez les spécifications HSL du design system en colonnes CMJN pour catalogues, fiches merchandising et fixtures de régression via une API déterministe.