ForHosting KIT · Images

Empaqueteur RVB vers RGB565

Transformez une couleur RVB en mot de 16 bits attendu par un écran TFT : l’orange 255, 128, 0 devient 64512, soit 0xFC00. Le rouge garde cinq bits, le vert six et le bleu cinq, tronqués et non arrondis. 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 (Ω)
255
G
128
B
0
Vous obtenez
Rgb565
64 512
Hex
0xFC00
Chiffres hexadécimaux
FC00
Bits
1111110000000000

Les contrôleurs TFT embarqués, les bibliothèques graphiques pour microcontrôleurs et de nombreuses consoles portables stockent chaque pixel comme un seul mot RGB565 de seize bits, au lieu de trois canaux de huit bits séparés. Cet empaqueteur RVB vers RGB565 prend des entiers rouge, vert et bleu de zéro à deux cent cinquante-cinq et les compacte en tronquant les bits de poids faible inutiles : cinq bits de rouge, six de vert et cinq de bleu, puis assemble la disposition classique de seize bits utilisée par ILI9341, ST7735, ST7789, SSD1351, Adafruit GFX et TFT_eSPI. La conversion est entièrement déterministe, n'arrondit pas, n'appelle pas le réseau et ne dépend jamais de l'horloge.

Comment fonctionne l'empaquetage RGB565 et ce que contient la réponse

En sRGB à huit bits, chacun des canaux rouge, vert et bleu est un entier de zéro à deux cent cinquante-cinq, davantage de précision qu'un tampon d'image de seize bits ne peut conserver. RGB565 consacre cinq bits au rouge, six au vert et cinq au bleu, car l'œil humain est plus sensible au vert, de sorte que le bit supplémentaire est dépensé là où il réduit le plus les bandes de couleur.

Cet empaqueteur utilise la troncature standard de l'industrie, pas l'arrondi : le rouge est décalé de trois bits vers la droite, le vert de deux bits vers la droite et le bleu de trois bits vers la droite, en écartant les bits de poids faible inutiles.

Les trois champs sont ensuite assemblés comme rouge décalé de onze bits vers la gauche, disjonction bit à bit avec le vert décalé de cinq bits vers la gauche, disjonction bit à bit avec le bleu, ce qui produit un entier non signé unique de zéro à soixante-cinq mille cinq cent trente-cinq. Le noir pur s'empaquette à zéro, le blanc pur au maximum, le rouge pur devient le mot hexadécimal familier F800, le vert pur 07E0 et le bleu pur 001F.

Il n'y a ni enveloppement silencieux de deux cent cinquante-six, ni arrondi des bits écartés, ni réseau ni horloge sur le chemin, si bien que le même triplet produit toujours le même mot de seize bits.

Comment r, g et b sont validés et pourquoi la troncature reste honnête

Les champs privilégiés sont r pour le rouge, g pour le vert et b pour le bleu. Les espaces extérieurs des canaux de type chaîne sont supprimés ; un plus initial facultatif n'est autorisé que lorsque les caractères restants sont des chiffres décimaux qui s'interprètent comme un entier dans la plage.

Des valeurs telles que cent vingt-huit point cinq échouent à la validation plutôt que d'être arrondies, et les nombres négatifs ou à partir de deux cent cinquante-six échouent avec un message qui nomme le canal et affirme qu'il doit rester entre zéro et deux cent cinquante-cinq. Les champs manquants et les chaînes vides après suppression des espaces sont rejetés de la même façon.

La troncature est le contrat parce qu'Adafruit GFX, TFT_eSPI, les exemples de la fiche technique ILI9341 et presque chaque macro de couleur Arduino écartent les bits de poids faible par un décalage à droite ; un empaqueteur qui arrondirait serait en désaccord avec le micrologiciel déjà déployé et casserait les tests de référence qui figent 0xF800 pour le rouge plein.

Où un empaqueteur RVB vers RGB565 justifie son existence

Les étudiants la voient dans les cours de systèmes embarqués qui présentent les tampons d'image TFT, dans les laboratoires de programmation de jeux destinés aux portables seize bits, et dans les échauffements d'entretien qui demandent la disposition des bits de RGB565.

Les auteurs d'outils appellent le même contrat depuis des scripts de compilation pour amorcer des en-têtes de palette, depuis des tests de propriétés qui comparent un nouveau pilote à cet oracle, et depuis des pipelines de jetons de design qui doivent émettre à la fois un hexadécimal CSS et un mot de micrologiciel à partir d'une seule source de vérité.

Associez-le à un convertisseur RVB vers hexadécimal lorsque le consommateur suivant est une feuille de style, à un empaqueteur RVB vers entier décimal lorsque vous avez besoin d'un mot de vingt-quatre bits, et à d'autres outils de couleur déterministes gratuits lorsque vous construisez un petit laboratoire d'hygiène de palettes embarquées.

Palettes de micrologiciel pour TFT

Transformez des triplets RVB de marque en mots RGB565 pour les tables de couleurs ILI9341, ST7735, ST7789 et Adafruit GFX.

Conversion de sprites et de tampon d'image

Empaquetez des ressources hors ligne en tableaux C 16 bits et en octets haut et bas SPI qui respectent l'ordre du contrôleur.

Tests déterministes de pilotes

Figez des oracles RGB565 tronqués en CI pour qu'un nouvel assistant graphique ne bascule jamais en silence vers l'arrondi.

Comment convertir du RVB vers RGB565 ?

Le champ rgb565 de la réponse est le mot 16 bits empaqueté ; hex est la forme à quatre chiffres préfixée par 0x utilisée dans le micrologiciel.

Cet empaqueteur arrondit-il ou tronque-t-il les bits en trop ?

Il tronque. Le rouge et le bleu écartent leurs 3 bits de poids faible (>> 3) et le vert écarte ses 2 bits de poids faible (>> 2). Cela correspond à Adafruit GFX, TFT_eSPI et aux exemples habituels de contrôleurs TFT. Il n'y a pas d'arrondi.

Que se passe-t-il si un canal sort de 0–255 ?

Les canaux ne sont jamais plafonnés ni enveloppés, de sorte qu'un 256 issu d'un sélecteur défectueux ne peut pas devenir un pixel erroné.

L'empaqueteur RVB vers RGB565 est-il gratuit ?

L'outil du navigateur s'exécute gratuitement sur votre appareil.

Pourquoi le vert reçoit-il six bits et le rouge et le bleu seulement cinq ?

L'œil humain est plus sensible au vert, de sorte que RGB565 dépense le bit supplémentaire à cet endroit. La répartition 5-6-5 est la disposition de seize bits utilisée par les contrôleurs TFT courants que cet outil vise.

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

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/rgb-rgb565 \
  -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": "color.rgb_rgb565",
  "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.

min_channel0
max_channel255
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.

Les canaux hors de zéro à deux cent cinquante-cinq sont rejetés avec une erreur invalid_input claire, plutôt que d'être enveloppés ou plafonnés en silence.

Comment fonctionne l'empaquetage RGB565 et ce que contient la réponse

La réponse répète les canaux validés r, g et b, renvoie l'entier empaqueté comme rgb565, une chaîne hexadécimale de quatre chiffres en majuscules préfixée par 0x, les quatre chiffres hexadécimaux seuls, une chaîne binaire de seize caractères, les champs tronqués r5, g6 et b5, les canaux huit bits reconstruits r_q, g_q et b_q en décalant à nouveau vers la gauche ces champs tronqués, les octets haut et bas qu'un transfert SPI vers un contrôleur de la famille ILI9341 attend dans cet ordre, des chaînes CSS rgb de la couleur d'origine et de la couleur quantifiée, l'étiquette de méthode truncate_rgb565, la formule de bits et max toujours égal à 65535.

Comment r, g et b sont validés et pourquoi la troncature reste honnête

Les alias red et R majuscule, green et G majuscule, et blue et B majuscule sont acceptés afin que feuilles de calcul, chaînes de requête et formulaires typés réutilisent le contrat sans renommer de colonnes. Un nombre JSON nu n'est accepté que s'il s'agit d'un entier fini compris entre zéro et deux cent cinquante-cinq. Les canaux reconstruits r_q, g_q et b_q montrent la couleur qui atterrit réellement dans le tampon d'image une fois ces bits partis, ce qui est l'aperçu honnête dont un artiste a besoin avant de figer une palette.

Où un empaqueteur RVB vers RGB565 justifie son existence

Les auteurs de micrologiciel rencontrent cette correspondance lorsqu'un guide de marque liste des échantillons RVB huit bits et que le pilote d'affichage veut une couleur uint16_t, lorsqu'une feuille de sprites est convertie hors ligne en un tableau C 16 bits, ou lorsqu'un journal série imprime un mot empaqueté et que le bureau a besoin de la constante hexadécimale correspondante. Sur cette page, le travail s'exécute entièrement dans votre navigateur ; via l'API, chaque empaquetage réussi coûte $0.002, la validation échouée n'est pas facturée, et rien n'est conservé après le renvoi de la réponse. Cette séparation — exploration interactive gratuite et API payante identique — correspond au reste du catalogue tier A de KIT et vous permet de passer d'une démonstration de banc ou d'une diapositive de cours à un pipeline de micrologiciel automatisé sans changer le résultat empaqueté.

Consulter la documentation complète du KIT →