ForHosting KIT · Images

Décompresseur RGB565 vers RGB

Lisez une valeur RGB565 sur 16 bits comme une couleur ordinaire : 0xF800, soit 63488, correspond au rouge pur, 255, 0, 0 et #FF0000. Les cinq bits de rouge, six de vert et cinq de bleu sont étendus à toute la plage, niveaux d’origine à l’appui. 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
Valeur
0xF800
Vous obtenez
Valeur
63 488
RGB565 (hex)
0xF800
Red5
31
Vert (6 bits)
0

Ce décompresseur RGB565 vers RGB convertit une couleur compacte sur 16 bits en canaux rouge, vert et bleu classiques sur 8 bits. Il vérifie que l’entrée est un entier compris dans la plage non signée sur 16 bits, sépare les cinq bits rouges, les six bits verts et les cinq bits bleus, puis met chaque canal à l’échelle de façon déterministe entre 0 et 255. Vous pouvez saisir une valeur décimale ou hexadécimale précédée de 0x et recevoir la valeur compacte d’origine, ses champs binaires, une chaîne RGB et une couleur hexadécimale à six chiffres.

Comprenez l’organisation du format RGB565

RGB565 enregistre une couleur sur seize bits au lieu des vingt-quatre bits du RGB classique à 8 bits. Les cinq bits de poids fort représentent le rouge, les six bits centraux le vert et les cinq bits de poids faible le bleu. Le vert bénéficie d’un bit supplémentaire, car la vision humaine distingue particulièrement bien les variations dans cette partie du spectre.

Pour décompresser la valeur, cet outil décale l’entier et lui applique des masques afin d’obtenir un rouge de 0 à 31, un vert de 0 à 63 et un bleu de 0 à 31. Il affiche ensuite ces composantes à profondeur réduite avec leurs équivalents étendus. Le résultat convient aux développeurs qui veulent une couleur directement affichable comme aux ingénieurs qui souhaitent examiner les champs exacts stockés dans un micrologiciel, un framebuffer embarqué, une ressource binaire ou un protocole matériel.

La forme hexadécimale sur quatre chiffres conserve systématiquement les zéros initiaux, ce qui simplifie les comparaisons.

Découvrez la conversion des canaux vers 8 bits

Un canal à profondeur réduite ne contient pas assez d’informations pour restituer exactement l’échantillon d’origine sur 8 bits. La décompression fournit donc nécessairement une approximation. Ce convertisseur applique une mise à l’échelle proportionnelle explicite et arrondit à l’entier le plus proche.

Le rouge et le bleu sont multipliés par 255, divisés par 31, puis arrondis ; le vert est multiplié par 255, divisé par 63, puis arrondi. Les extrêmes correspondent ainsi exactement : zéro reste zéro et la composante maximale devient 255. Les valeurs intermédiaires couvrent toute la plage sur 8 bits sans hasard ni dépendance à l’environnement.

Cette règle se reproduit facilement en JavaScript, C, Rust, Python ou dans un tableur, tandis que les champs de sortie permettent d’en contrôler chaque étape. Certains systèmes répètent les bits, avec un résultat proche mais pas toujours identique. Ici, la règle proportionnelle est fixe et documentée pour garantir des tests comparables.

Saisissez une valeur valide et exploitez le résultat

Saisissez une seule valeur RGB565 non signée en chiffres décimaux, comme 63488, ou en hexadécimal avec le préfixe obligatoire 0x, comme 0xF800. La plage acceptée va de 0 à 65535 inclus, puisqu’aucune valeur supérieure ne tient sur seize bits. Les nombres négatifs, fractions, lettres hexadécimales sans préfixe, caractères supplémentaires, tableaux et objets non conformes sont refusés plutôt que partiellement interprétés.

Ce contrôle strict empêche une valeur telle que 65536 de revenir au noir par débordement et de masquer une erreur en amont. La sortie comprend l’entier décimal normalisé, le RGB565 hexadécimal complété, les composantes 5/6/5 d’origine, les valeurs r, g et b mises à l’échelle, une chaîne rgb() et un code RGB hexadécimal à six chiffres. Vous pouvez injecter les canaux dans du code graphique, comparer le code durant un débogage ou consigner les deux représentations.

Examiner les couleurs d’un écran embarqué

Convertissez les constantes d’un micrologiciel ou d’un framebuffer en RGB tout en conservant les champs 5/6/5 d’origine.

Décoder des ressources graphiques binaires

Décompressez des mots de pixel sur 16 bits en canaux sur 8 bits pour le diagnostic, l’aperçu ou une conversion déterministe.

Quels formats d’entrée sont acceptés ?

Utilisez des chiffres décimaux de 0 à 65535 ou une valeur hexadécimale avec le préfixe 0x, par exemple 63488 ou 0xF800.

Pourquoi le vert utilise-t-il six bits ?

RGB565 affecte six bits au vert et cinq au rouge et au bleu, offrant une gradation du vert plus fine dans un mot de 16 bits.

La couleur d’origine sur 8 bits peut-elle être retrouvée exactement ?

Non. La compression a supprimé des informations de poids faible. Les canaux renvoyés sont des approximations déterministes réparties sur toute la plage de 0 à 255.

Comment les canaux sont-ils mis à l’échelle ?

Le rouge et le bleu utilisent round(composante × 255 ÷ 31) ; le vert utilise round(composante × 255 ÷ 63).

Que se passe-t-il si je saisis 65536 ?

La valeur est refusée. Une couleur RGB565 doit tenir sur seize bits, la plage acceptée va donc de 0 à 65535 ; un nombre plus grand n’est pas ramené au noir, ce qui masquerait une erreur en amont.

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/rgb565-rgb

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/rgb565-rgb \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"0xF800"}'
{
  "value": "0xF800"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.rgb565_rgb",
  "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.

Saisissez une valeur valide et exploitez le résultat

Chaque requête automatisée via l’API coûte $0.002.

Créer des fixtures multilangages

Produisez des valeurs compactes et étendues explicites afin de comparer les implémentations RGB565 des applications, appareils et tests.

Que se passe-t-il si la valeur est hors plage ?

La requête renvoie une erreur invalid_input sans débordement, troncature ni interprétation des bits supplémentaires.

Quel est le prix d’une conversion par API ?

Chaque requête API coûte $0.002 ; vous pouvez aussi lancer la conversion de manière interactive dans votre navigateur.

Consulter la documentation complète du KIT →