ForHosting KIT · Imagens

Desempacotador RGB565 para RGB

Leia um valor RGB565 de 16 bits como uma cor comum: 0xF800, ou 63488, é vermelho puro, 255, 0, 0 e #FF0000. Os cinco bits de vermelho, seis de verde e cinco de azul são ampliados para a faixa completa, com os níveis guardados à vista. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Valor
0xF800
Você obtém
Valor
63.488
RGB565 (hex)
0xF800
Red5
31
Verde (6 bits)
0

Este desempacotador de RGB565 para RGB converte um valor de cor compacto de 16 bits nos canais conhecidos de vermelho, verde e azul de 8 bits. Ele confirma que a entrada é um inteiro dentro da faixa sem sinal de 16 bits, separa os cinco bits de vermelho, os seis de verde e os cinco de azul e, em seguida, dimensiona cada canal de maneira determinística entre 0 e 255. Você pode informar um valor decimal ou hexadecimal com prefixo 0x e receberá o valor empacotado original, os campos de bits, uma string RGB e uma cor hexadecimal de seis dígitos.

Entenda a organização do RGB565

O RGB565 armazena uma cor em dezesseis bits, em vez dos vinte e quatro usados pelo RGB comum de 8 bits. Os cinco bits mais significativos representam o vermelho, os seis bits centrais representam o verde e os cinco bits menos significativos representam o azul. O verde recebe um bit extra porque a visão humana percebe com especial sensibilidade as mudanças nessa parte do espectro.

Para desempacotar o valor, esta ferramenta desloca e mascara o inteiro, produzindo vermelho de 0 a 31, verde de 0 a 63 e azul de 0 a 31. Depois, apresenta esses componentes de profundidade reduzida ao lado dos equivalentes expandidos. O resultado atende tanto a quem precisa de uma cor pronta para exibição quanto a quem deseja examinar os campos exatos guardados em firmware, framebuffer embarcado, recurso binário ou protocolo de dispositivo.

O formato hexadecimal de quatro dígitos é sempre preenchido, preservando zeros à esquerda e simplificando comparações.

Veja como os canais reduzidos viram valores de 8 bits

Um canal reduzido não contém informação suficiente para recuperar exatamente a amostra original de 8 bits; por isso, o desempacotamento necessariamente gera uma aproximação. Este conversor aplica dimensionamento proporcional explícito com arredondamento para o inteiro mais próximo. Vermelho e azul são multiplicados por 255, divididos por 31 e arredondados; o verde é multiplicado por 255, dividido por 63 e arredondado.

Assim, os extremos são exatos: zero se torna zero e o maior componente se torna 255. Os valores intermediários ocupam toda a faixa de 8 bits, sem aleatoriedade ou variação de ambiente. A regra pode ser reproduzida em JavaScript, C, Rust, Python ou planilhas, e os campos da resposta permitem conferir cada etapa.

Alguns sistemas expandem os bits por repetição, o que costuma ficar próximo, mas pode divergir. Aqui, a regra proporcional é fixa e documentada para testes e comparações entre linguagens.

Forneça uma entrada válida e use o resultado

Informe um único valor RGB565 sem sinal em dígitos decimais, como 63488, ou em hexadecimal com o prefixo obrigatório 0x, como 0xF800. A faixa aceita vai de 0 a 65535, inclusive, pois nenhum valor maior cabe em dezesseis bits. Números negativos, frações, letras hexadecimais sem prefixo, caracteres extras, arrays e objetos fora do contrato são rejeitados, em vez de sofrerem interpretação parcial.

Essa rigidez impede que um valor como 65536 volte a preto por estouro e esconda um problema anterior. A resposta contém o decimal normalizado, o RGB565 hexadecimal preenchido, os componentes 5/6/5 originais, os números r, g e b dimensionados, uma string rgb() e um hexadecimal RGB de seis dígitos. Você pode alimentar código de imagem com os canais, comparar o hexadecimal durante a depuração ou registrar as duas formas em uma conversão.

Inspecionar cores de telas embarcadas

Converta constantes de firmware ou framebuffer em valores RGB conhecidos e mantenha os campos 5/6/5 originais.

Decodificar recursos gráficos binários

Desempacote palavras de pixel de 16 bits em canais de 8 bits para diagnóstico, prévia ou conversão determinística.

Quais formatos de entrada são aceitos?

Use dígitos decimais de 0 a 65535 ou hexadecimal com prefixo 0x, por exemplo 63488 ou 0xF800.

Por que o verde usa seis bits?

O RGB565 atribui seis bits ao verde e cinco ao vermelho e ao azul, oferecendo gradação verde mais fina em uma palavra de 16 bits.

É possível recuperar exatamente a cor original de 8 bits?

Não. O empacotamento descartou informações de ordem inferior. Os canais retornados são aproximações determinísticas dimensionadas para toda a faixa de 0 a 255.

Como os canais são dimensionados?

Vermelho e azul usam round(componente × 255 ÷ 31); verde usa round(componente × 255 ÷ 63).

O que acontece se eu digitar 65536?

O valor é recusado. Um RGB565 precisa caber em dezesseis bits, então a faixa aceita vai de 0 a 65535; um número maior não vira preto escondido, ele é rejeitado para revelar o erro na origem.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/color/rgb565-rgb

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

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"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Forneça uma entrada válida e use o resultado

As solicitações automatizadas pela API custam US$ 0,002 cada.

Criar fixtures entre linguagens

Gere valores empacotados e dimensionados explícitos para comparar implementações RGB565 em aplicativos, dispositivos e testes.

O que acontece se o valor estiver fora da faixa?

A solicitação retorna um erro invalid_input, sem causar estouro, truncamento ou interpretação de bits extras.

Quanto custa a conversão pela API?

Cada solicitação à API custa US$ 0,002; você também pode executar a conversão de modo interativo no navegador.

Ver a documentação completa do KIT →