ForHosting KIT · Outils pour développeurs

Compacteur RGB565

Ce compacteur RGB565 convertit les canaux rouge, vert et bleu sur huit bits dans le format compact sur seize bits utilisé par les écrans embarqués, microcontrôleurs, ressources graphiques et framebuffers.

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

Il décode également un mot RGB565 en canaux mis à l’échelle. Chaque conversion fournit la valeur décimale, l’hexadécimal complété, les champs de cinq, six et cinq bits ainsi que le résultat visible de l’aller-retour. Une validation stricte détecte les canaux hors plage et les valeurs mal formées avant toute transformation silencieuse en une autre couleur.

Compactez trois canaux 8 bits dans un mot RGB565

Sélectionnez l’opération de compactage et fournissez des canaux entiers r, g et b compris entre 0 et 255 inclus. Le convertisseur réduit d’abord le rouge et le bleu de huit à cinq bits, soit une plage de 0 à 31. Le vert passe à six bits, de 0 à 63, car le format RGB565 lui réserve un bit supplémentaire. Chaque conversion applique une mise à l’échelle proportionnelle avec arrondi à l’entier le plus proche : 0 et 255 correspondent exactement aux extrémités, tandis que les couleurs intermédiaires utilisent le niveau disponible le plus proche. L’outil place ensuite le rouge dans les bits 15 à 11, le vert dans les bits 10 à 5 et le bleu dans les bits 4 à 0. Une opération OR réunit ces champs en un entier non signé de seize bits. La réponse fournit la valeur décimale et une valeur hexadécimale uniforme sur quatre chiffres, adaptée aux constantes C, encodeurs binaires, pilotes d’écran, tables et jeux de test. Les champs séparés permettent de contrôler chaque étape au lieu d’accepter un nombre opaque.

Comprenez la quantification et la couleur restituée

RGB565 ne peut pas conserver toutes les couleurs RGB sur vingt-quatre bits, puisqu’il représente 16,777,216 entrées possibles avec seulement 65,536 valeurs. Plusieurs couleurs proches produisent donc le même mot, et le décompactage ne restaure pas les informations de poids faible supprimées. Pour rendre cette perte explicite, la réponse de compactage comprend un objet indiquant la couleur sur huit bits représentée par le mot. Le décodeur multiplie le rouge et le bleu sur cinq bits par 255, divise par 31 et arrondit ; pour le vert, il utilise 255 et 63. Cette règle proportionnelle est déterministe, préserve exactement les extrémités et se reproduit facilement en JavaScript, C, Rust, Python ou ailleurs. Les canaux restitués peuvent légèrement différer de l’entrée, ce qui correspond à la quantification attendue. Les champs réduits, le mot compacté et les canaux étendus réunis facilitent la comparaison des implémentations, la détection d’une confusion d’ordre des octets, la vérification des constantes et l’évaluation de la précision pour un écran ou une ressource graphique.

Décompactez des valeurs existantes sans erreur de format

Sélectionnez l’opération de décompactage si vous possédez déjà un mot RGB565 provenant d’un firmware, d’un framebuffer, d’une capture de protocole ou d’un fichier image. Saisissez value sous forme de chiffres décimaux de 0 à 65535 ou en hexadécimal avec le préfixe 0x. Le convertisseur refuse les valeurs négatives, fractions, lettres hexadécimales sans préfixe, caractères finaux et nombres dépassant seize bits au lieu de les tronquer. La sortie comprend l’entier décimal normalisé, l’hexadécimal complété, les trois champs stockés et les canaux r, g et b mis à l’échelle. RGB565 définit la répartition des bits, et non l’ordre des octets. Selon le matériel ou le format, l’octet fort ou faible peut être écrit en premier ; inversez-les en amont si nécessaire. RGB565 diffère aussi de BGR565, qui échange rouge et bleu. Cet outil place toujours le rouge en poids fort et le bleu en poids faible. Le navigateur convient aux vérifications ponctuelles, tandis qu’une requête API coûte $0.002 pour l’automatisation, les tests ou le diagnostic.

Générez des constantes d’affichage

Transformez les canaux RGB d’une maquette en valeurs RGB565 complétées pour firmware, pilotes et tables de correspondance.

Vérifiez les pixels d’un framebuffer

Décodez les mots seize bits capturés et comparez leurs canaux étendus aux couleurs attendues par les tests.

Créez des fixtures multilangages

Consignez entrées, champs réduits, mots compactés et canaux restitués pour des tests cohérents entre appareils et applications.

Comment les canaux 8 bits sont-ils réduits ?

Rouge et bleu utilisent round(canal × 31 ÷ 255), tandis que vert utilise round(canal × 63 ÷ 255).

Pourquoi la couleur décompactée peut-elle différer ?

Le compactage supprime des informations de poids faible. Le résultat est la couleur la plus proche représentée par le mot RGB565.

Quels formats compactés sont acceptés ?

Utilisez des chiffres décimaux de 0 à 65535 ou une chaîne hexadécimale préfixée par 0x, telle que 0xF800.

Cet outil inverse-t-il les octets ?

Non. Il convertit le mot RGB565 numérique ; gérez l’ordre des octets lors de la lecture ou de l’écriture du format.

Quel est le prix d’une conversion API ?

Chaque requête API coûte $0.002 ; la conversion interactive est également disponible dans le navigateur.

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/dev/rgb565-pack

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/dev/rgb565-pack \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"r":255,"g":128,"b":0}'
{
  "r": 255,
  "g": 128,
  "b": 0
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.rgb565_pack",
  "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 →