ForHosting KIT · Imagens

Empacotador RGB para RGB555

Compacte uma cor RGB numa palavra RGB555 de 15 bits: o laranja 255, 128, 0 vira 32256, ou 0x7E00. Cada canal mantém seus cinco bits mais altos, o formato dos modos high color do VGA e de jogos antigos de PC. 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
Resistência (Ω)
255
G
128
B
0
Você obtém
R5
31
G5
16
B5
0
R quantizado
248

O hardware gráfico legado guarda a cor como uma palavra RGB555 de quinze bits, não como três canais de oito bits. Este empacotador de RGB para RGB555 recebe inteiros de vermelho, verde e azul de zero a duzentos e cinquenta e cinco, trunca cada canal para cinco bits ao descartar os três bits menos significativos e empacota o resultado com o vermelho nos bits quatorze a dez, o verde nos bits nove a cinco e o azul nos bits quatro a zero. O bit alto não usado permanece zero, de modo que o inteiro empacotado fica sempre entre zero e trinta e dois mil setecentos e sessenta e sete. O mecanismo é totalmente determinístico: sem rede, semente aleatória ou relógio de parede.

O que significa empacotar em RGB555 e como a palavra de quinze bits é montada

O sRGB de oito bits, o modelo que CSS e as ferramentas de pintura modernas usam, dá a cada um de vermelho, verde e azul duzentos e cinquenta e seis níveis distintos. O high-color de quinze bits, chamado RGB555, guarda só trinta e dois níveis por canal. A conversão histórica é truncamento, não arredondamento perceptual: desloque cada canal de oito bits três bits à direita, o mesmo que dividir de forma inteira por oito e descartar o resto.

Vermelho puro duzentos e cinquenta e cinco vira trinta e um, cinza médio cento e vinte e oito vira dezesseis, e qualquer valor de zero a sete colapsa para zero. Esses três campos de cinco bits são então empacotados em um inteiro sem sinal com o vermelho nos bits quatorze a dez, o verde nos bits nove a cinco e o azul nos bits quatro a zero.

O bit quinze fica sem uso e sempre é escrito como zero, então a palavra empacotada nunca passa de trinta e dois mil setecentos e sessenta e sete, o hexadecimal 0x7FFF. Esse é o leiaute RGB555 documentado pela cor de 15 bits do Windows, pelos modos VGA high-color e por muitos motores de PC — não a troca BGR555 de alguns portáteis, em que o azul ocupa os cinco bits de dados altos.

Contrato de entrada, regras de truncamento e validação que nunca limita

Espaços externos em canais-string são aparados. Um valor só é legal quando é um inteiro finito de zero a duzentos e cinquenta e cinco inclusive. Não há limite silencioso nem arredondamento ao nível mais próximo: sete deslocado três bits à direita é zero, oito vira um, e duzentos e cinquenta e cinco vira trinta e um.

Essa regra só de truncar coincide com o caminho de hardware dos DAC VGA high-color e de inúmeros conversores de assets que descartam os três bits menos significativos antes de gravar um framebuffer de quinze bits. Depois da validação o mecanismo empacota rgb555 como o vermelho de cinco bits deslocado dez à esquerda, disjunção bit a bit com o verde de cinco bits deslocado cinco à esquerda, disjunção bit a bit com o azul de cinco bits.

Laranja duzentos e cinquenta e cinco, cento e vinte e oito, zero vira portanto trinta e um, dezesseis, zero e empacota em trinta e dois mil duzentos e cinquenta e seis, escrito 0x7E00. Branco duzentos e cinquenta e cinco em cada canal empacota no máximo trinta e dois mil setecentos e sessenta e sete. Preto empacota em zero.

Onde um empacotador de RGB para RGB555 se justifica, e quanto custa

Cadeias de ferramentas retrô encontram esse mapeamento quando um editor de paleta precisa emitir as mesmas palavras de quinze bits que um modo VGA high-color ou um motor antigo de PC guardava na memória de vídeo, quando um conversor de sprites grava um blob binário de paleta, ou quando um teste de emulador compara um framebuffer empacotado com um dump de referência.

Quem faz ROM hacking e pipelines de assets usa isso para transformar maquetes modernas de oito bits no visual grosso de trinta e dois níveis por canal do high-color de 15 bits, sem levantar uma biblioteca gráfica inteira. Cursos de computação usam como exercício limpo de deslocamento: a turma confere que duzentos e cinquenta e cinco deslocado três bits à direita é trinta e um e que a palavra empacotada do branco é 0x7FFF.

Quem desenvolve front-end e ainda envia fallbacks de formatos históricos, ou documenta como uma exportação de canvas vai ficar após a quantização em cinco bits, pode chamar o mesmo contrato a partir de um script. Combine o empacotador gratuito de RGB para RGB555 no navegador com conversores hex ou HSL quando o próximo passo for uma folha de estilo, e com o empacotador de inteiro RGB de 24 bits quando precisar de oito bits por canal em vez de cinco. Nesta página o trabalho roda inteiro no seu dispositivo.

Paletas VGA high-color e motores clássicos de PC

Converta amostras de maquete de oito bits nas palavras RGB555 de 15 bits que um modo VGA high-color ou um motor clássico de PC guardava na memória de vídeo.

Ensinar deslocamentos e a quantização em cinco bits

Deixe a turma conferir que cada canal é truncado com um deslocamento à direita de três e empacotado com o vermelho nos bits 14–10, sem escrever os deslocamentos à mão.

Como empacotar RGB de 8 bits em um valor RGB555?

O rgb555 da resposta é a palavra de 15 bits ((r>>3)<<10) | ((g>>3)<<5) | (b>>3), também dada em hex e como string binária de 15 bits.

Como cada canal é truncado para cinco bits?

O mecanismo descarta os três bits menos significativos com um deslocamento à direita de três (divisão inteira por oito). Não há arredondamento: 7 vira 0, 8 vira 1 e 255 vira 31.

Qual é a faixa do inteiro RGB555 empacotado?

De zero a 32767 (0x0000 a 0x7FFF). O bit 15 não é usado e permanece zero. Branco puro empacota em 32767; preto puro empacota em 0.

O que acontece se um canal ficar fora de 0–255?

Canais nunca são limitados nem encapsulados, e a validação falha sem cobrança.

O empacotador de RGB para RGB555 é grátis?

A ferramenta do navegador roda de graça no seu dispositivo.

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

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/rgb-rgb555 \
  -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_rgb555",
  "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.

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

Designers, autores de emuladores e cadeias de ferramentas de jogos retrô usam esse mapeamento quando uma paleta, um framebuffer ou um dump BIOS espera o leiaute histórico de high-color de quinze bits dos modos VGA, jogos de PC antigos e muitas API gráficas. Canais fora da faixa legal de oito bits falham com invalid_input em vez de encapsular ou limitar em silêncio. Use de graça no navegador para paletas e conferência de lição, ou chame a API a US$ 0,002 por item correto quando um pipeline de build precisar do mesmo contrato.

O que significa empacotar em RGB555 e como a palavra de quinze bits é montada

A resposta ecoa os r, g e b originais, expõe os campos de cinco bits como r5, g5 e b5, reconstrói o visual quantizado de oito bits como quantized_r, quantized_g e quantized_b ao deslocar três casas à esquerda, e publica o inteiro empacotado como rgb555 junto com uma forma hex 0x, quatro dígitos hexadecimais maiúsculos, uma string binária de quinze caracteres, um eco css_rgb da entrada, a etiqueta de método rgb_to_rgb555, a string da fórmula, bits_per_channel igual a cinco e max igual a trinta e dois mil setecentos e sessenta e sete. Entradas idênticas sempre produzem o mesmo JSON porque o caminho é aritmética pura.

Contrato de entrada, regras de truncamento e validação que nunca limita

Envie por POST um corpo JSON com três inteiros obrigatórios: r para vermelho, g para verde e b para azul. Cada campo pode chegar como número JSON ou como string de dígitos; os aliases red e R maiúsculo, green e G maiúsculo, e blue e B maiúsculo são aceitos para planilhas e formulários tipados reutilizarem o mesmo contrato. Campos ausentes, strings vazias, texto não numérico, Infinity, NaN, frações como cento e vinte e oito ponto cinco, negativos e qualquer canal de duzentos e cinquenta e seis ou mais falham com invalid_input que nomeia o campo e declara que ele deve permanecer entre zero e duzentos e cinquenta e cinco. Essas falhas não são cobradas.

Onde um empacotador de RGB para RGB555 se justifica, e quanto custa

Pela API cada empacotamento bem-sucedido custa US$ 0,002; falhas de validação não consomem saldo, e nada fica armazenado depois que a resposta volta.

Fixtures de emulador e conversores de sprites

Empacote entradas de paleta e pixels de framebuffer em inteiros RGB555 determinísticos para testes de emulador e conversores de assets afirmarem dumps binários.

Ver a documentação completa do KIT →