ForHosting KIT · Images

Limiter une couleur à la gamme

Ramenez dans l’échelle de 0 à 255 les valeurs RVB qui en sortent : rouge 300, vert −20 et bleu 127.5 deviennent 255, 0 et 127.5, et vous voyez quels canaux ont changé. Rien n’est arrondi au passage. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Résistance (Ω)
300
G
-20
B
127,5
Vous obtenez
Résistance (Ω)
255
G
0
Rgb
rgb(255, 0, 127.5)
Canaux modifiés
r, g

Limitez une couleur à sa gamme lorsque ses données RVB comportent des canaux inférieurs à zéro ou supérieurs à 255. Cet outil déterministe valide le rouge, le vert et le bleu, puis corrige chaque canal séparément vers la borne la plus proche de la plage huit bits standard. Les valeurs déjà comprises dans la plage restent intactes, y compris les fractions, car borner ne signifie pas arrondir. La réponse présente les canaux corrigés, une chaîne RVB lisible, l’existence éventuelle d’une modification et les canaux réparés.

Ce que signifie ramener une couleur RVB dans la gamme

Une couleur RVB sur huit bits exprime habituellement le rouge, le vert et le bleu sur une échelle inclusive de 0 à 255. Les données extérieures à ces bornes ne sont pas directement représentables dans cette plage : un canal rouge de 300 est trop élevé, tandis qu’un canal vert de -20 est trop faible. Le bornage règle précisément ce problème en remplaçant toute valeur inférieure à 0 par 0, toute valeur supérieure à 255 par 255 et en conservant les valeurs intermédiaires.

Chaque canal est traité indépendamment : corriger le rouge ne modifie donc ni le vert ni le bleu. L’outil renvoie les valeurs r, g et b corrigées, ainsi qu’une chaîne de fonction rgb décrivant le même résultat. Cette opération est plus ciblée qu’une conversion colorimétrique, une compression perceptuelle ou une transformation entre espaces.

Elle ne convertit ni HSL, ni Lab, ni Display P3, ni CMYK et ne cherche pas à préserver une teinte perçue après conversion. Elle valide simplement trois canaux numériques et les place de manière transparente et reproductible dans l’intervalle autorisé de 0 à 255.

Validation, valeurs fractionnaires et résultat reproductible

Les trois canaux sont obligatoires et doivent être des nombres finis. La notation scientifique est admise lorsqu’elle produit un nombre fini. Après validation, l’algorithme prend le minimum entre 255 et le maximum entre 0 et la valeur du canal.

Cette formule ne dépend d’aucun seuil caché, paramètre régional ou comportement de plateforme. Les fractions déjà dans la plage sont préservées : 127.5 reste 127.5. Ce choix est volontaire, car borner et arrondir sont deux opérations différentes.

L’implémentation n’utilise ni réseau, ni date, ni hasard, ni état partagé, ni modèle externe. Une entrée valide identique produit donc toujours les mêmes données sérialisées.

Place du bornage RVB dans un flux de traitement

Les couleurs passent souvent entre des systèmes qui ne partagent pas les mêmes hypothèses. Un calcul de shader peut dépasser la limite après l’ajout d’une lumière, une analyse d’image peut exporter une petite composante négative, une formule de tableur peut donner 255.2 et une interpolation d’animation peut brièvement dépasser sa destination. Le bornage est utile à l’endroit où ces valeurs doivent devenir des canaux RVB ordinaires pour un canevas, un générateur CSS, des miniatures, un protocole matériel ou des jetons de design.

Placez-le après le calcul susceptible de déborder et avant le consommateur qui exige des canaux bornés. Les champs signalant les changements peuvent alimenter les journaux et les mesures de qualité : vous conservez la couleur réparée tout en enregistrant que la source nécessitait une correction. N’employez pas ce bornage pour masquer des données systématiquement défectueuses ni comme remplacement d’un mappage perceptuel de gamme étendue.

Stabiliser les chaînes de rendu

Corrigez les résultats arithmétiques avant de les transmettre à un canevas, un générateur CSS ou un moteur d’image.

Que devient un canal inférieur à zéro ?

Il devient 0. Les autres canaux sont évalués séparément et restent inchangés s’ils sont déjà dans la plage.

Que devient un canal supérieur à 255 ?

Il devient 255, qui constitue la borne supérieure de la plage de canaux RVB prise en charge.

Les valeurs RVB fractionnaires sont-elles arrondies ?

Non. Les valeurs finies comprises entre 0 et 255 sont conservées, car cette capacité borne la plage sans arrondir la précision.

Quelles valeurs sont refusées au lieu d’être limitées ?

Les canaux manquants, les mots, les cases vides et tout ce qui n’est pas un nombre fini sont refusés. Les nombres écrits en texte et la notation scientifique sont acceptés s’ils donnent un nombre réel.

Comment savoir quels canaux ont été corrigés ?

Le résultat indique si quelque chose a changé et liste dans l’ordre les canaux ajustés. Avec rouge 300, vert −20 et bleu 127.5, seuls le rouge et le vert apparaissent, car le bleu était déjà dans la plage.

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/clamp-gamut

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/clamp-gamut \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"r":300,"g":-20,"b":127.5}'
{
  "r": 300,
  "g": -20,
  "b": 127.5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.clamp_gamut",
  "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.

Vous pouvez utiliser l’outil du navigateur pour une correction ponctuelle ou l’API à $0.002 par requête pour vos pipelines, imports, tests et systèmes de design.

Ce que signifie ramener une couleur RVB dans la gamme

Il fournit également le booléen changed et la liste ordonnée channels_changed, afin que vous puissiez distinguer une entrée intacte d’une entrée réparée sans effectuer vous-même la comparaison.

Validation, valeurs fractionnaires et résultat reproductible

Les champs recommandés sont r, g et b, mais les alias explicites red, green et blue sont également acceptés. Les chaînes strictement numériques conviennent aux formulaires, aux lignes issues de CSV et aux paramètres de requête ; en revanche, les chaînes vides, les mots, les booléens, les tableaux, les objets, Infinity et NaN provoquent invalid_input. Le zéro négatif devient zéro, ce qui évite une représentation signée inutile dans le JSON. L’indicateur changed ne devient vrai que lorsqu’au moins une valeur franchit une borne ; channels_changed énumère alors les noms courts concernés dans l’ordre stable rouge, vert, bleu.

Place du bornage RVB dans un flux de traitement

Dans les tests, vérifiez les canaux et channels_changed pour empêcher une évolution ultérieure d’introduire un bouclage, un arrondi ou le rejet de toute la couleur. Le navigateur exécute la même implémentation pure ; en automatisation, chaque requête API réussie coûte $0.002.

Réparer des enregistrements RVB importés

Bornez les canaux provenant de feuilles de calcul, de CSV ou d’API avant leur stockage en RVB standard.

Créer des fixtures de test déterministes

Testez les bornes et relevez précisément les canaux RVB que votre pipeline a dû corriger.

Quel est le prix d’une requête API ?

Une requête API réussie coûte $0.002. Vous pouvez aussi exécuter gratuitement la même opération déterministe dans votre navigateur.

Quelles entrées sont refusées ?

Les canaux absents, vides, non numériques ou non finis produisent invalid_input. Les trois canaux RVB sont obligatoires.

Consulter la documentation complète du KIT →