ForHosting KIT · Outils pour développeurs

Calcul de luminosité perçue

Le calculateur de luminosité perçue transforme les valeurs des canaux rouge, vert et bleu en un indice de luminance pratique.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Il emploie la formule RGB pondérée habituelle, qui accorde la plus forte influence au vert, puis au rouge et enfin au bleu. Le résultat est classé comme clair ou sombre selon un seuil documenté, puis associé à une suggestion de texte noir ou blanc. Utilisez-le lorsqu’un thème, un badge, un graphique ou un arrière-plan choisi par l’utilisateur exige un premier plan immédiat et reproductible.

Pourquoi la luminosité perçue pondère les canaux RGB

Une moyenne simple suppose que la vision humaine réagit de la même manière au rouge, au vert et au bleu. Ce n’est pas le cas. Le vert contribue bien davantage à la luminosité perçue, le rouge apporte une part intermédiaire et le bleu une part plus faible. Ce calculateur applique donc les coefficients classiques de luminance de type BT.601 : 0.299 pour le rouge, 0.587 pour le vert et 0.114 pour le bleu. Chaque canal doit être un entier compris entre 0 et 255. La somme pondérée donne un indice sur la même échelle approximative de 0 à 255, où le noir vaut zéro et le blanc 255. Le résultat est arrondi à trois décimales pour rester lisible tout en conservant une précision utile. Le calcul est déterministe : des entrées RGB identiques produisent toujours la même sortie, sans profil colorimétrique, réseau, hasard ni réglage propre à l’appareil. Il convient aux décisions rapides d’interface, mais ne remplace pas une analyse complète d’accessibilité ou de gestion des couleurs.

Comment la classe claire ou sombre détermine le texte

Après le calcul de la luminosité perçue, la capacité compare l’indice au seuil 128. Une valeur supérieure ou égale à 128 est classée comme claire, tandis qu’une valeur inférieure est classée comme sombre. Sur un fond clair, la réponse recommande un texte noir ; sur un fond sombre, elle recommande un texte blanc. La sortie contient les canaux d’origine, l’indice précis, la classe, la couleur de texte conseillée, le seuil et la formule. Votre application peut ainsi enregistrer ou auditer la décision sans dépendre d’un booléen opaque. La limite est explicite : une valeur exactement égale à 128 appartient à la classe claire. Ce choix garantit un comportement cohérent entre les clients. La recommandation fournit un premier plan binaire pratique pour les libellés, pastilles, avatars générés et aperçus de thèmes. Elle ne garantit pas la conformité de toute police ou taille à une norme d’accessibilité ; pour cela, utilisez un vérificateur de rapport de contraste.

Validez les canaux et exploitez le résultat correctement

Envoyez les composantes RGB dans les champs r, g et b. Les trois champs sont obligatoires, numériques, entiers et compris dans l’intervalle inclusif de 0 à 255. Les valeurs telles que -1, 256, un canal décimal, une chaîne numérique, NaN ou un champ absent sont rejetées comme entrées invalides au lieu d’être corrigées silencieusement. Cette validation stricte évite de masquer une erreur de conversion en amont et d’obtenir un rendu enregistré différent de son aperçu. Après une réponse valide, utilisez classification si vous avez seulement besoin d’une branche claire ou sombre, ou appliquez directement recommended_text_color si l’interface accepte une couleur hexadécimale. perceived_brightness permet de trier des échantillons ou de présenter le calcul. L’API coûte $0.002 par requête, tandis que le navigateur peut exécuter localement le même calcul déterministe. Pour une grande palette, calculez chaque couleur une seule fois et conservez le résultat avec ses valeurs RGB sources.

Choisir le texte de badges générés

Sélectionnez un texte noir ou blanc lorsque les fonds des badges proviennent de données utilisateur ou de palettes générées.

Classer les nuances d’un thème

Marquez les couleurs enregistrées comme claires ou sombres afin que l’éditeur affiche aussitôt un premier plan adapté.

Auditer les choix automatiques de premier plan

Conservez l’indice, le seuil et la formule avec la décision graphique afin de pouvoir la reproduire ultérieurement.

Quelle formule le calculateur utilise-t-il ?

Il utilise 0.299 × rouge + 0.587 × vert + 0.114 × bleu, chaque canal étant compris dans l’intervalle inclusif de 0 à 255.

Quand une couleur est-elle classée comme claire ?

Un indice de luminosité perçue supérieur ou égal à 128 est clair. Toute valeur inférieure est sombre.

Ce résultat garantit-il la conformité WCAG ?

Non. Il fournit un choix binaire rapide fondé sur la luminosité perçue. Utilisez un vérificateur de contraste pour une évaluation WCAG formelle.

Que se passe-t-il si un canal sort de la plage admise ?

La requête échoue avec une erreur d’entrée invalide. Aucune valeur n’est ramenée silencieusement dans la plage.

Quel est le prix d’un calcul par API ?

Chaque requête API coûte $0.002. La version dans le navigateur peut effectuer localement le même calcul déterministe.

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.

POSThttps://api.kit.forhosting.com/color/luminance-perceived

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é.

curl -X POST https://api.kit.forhosting.com/color/luminance-perceived \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"r":52,"g":152,"b":219}'
{
  "r": 52,
  "g": 152,
  "b": 219
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.luminance_perceived",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →