ForHosting KIT · Ferramentas para dev

Conversor YIQ para RGB

Este conversor de YIQ para RGB transforma a luminância e os dois componentes de crominância do modelo de cores NTSC em valores práticos de vermelho, verde e azul.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ele aplica uma matriz inversa fixa, apresenta canais normalizados e de 8 bits e informa quando foi necessário recortar um canal para o intervalo RGB exibível. A validação rigorosa identifica entradas ausentes, não numéricas, infinitas ou fora do domínio antes do cálculo. Sem acesso à rede, a ferramenta sempre produz o mesmo resultado para os mesmos componentes Y, I e Q.

Informe corretamente os componentes YIQ normalizados

Forneça três componentes numéricos: Y para luminância, I para crominância em fase e Q para crominância em quadratura. Y deve ficar entre 0 e 1, I entre -0.5957 e 0.5957, e Q entre -0.5226 e 0.5226. Esses são limites normalizados do YIQ NTSC, não valores em bytes nem porcentagens. Um valor Y próximo de zero representa baixa luminância, enquanto um valor próximo de um representa alta luminância. Os componentes I e Q, com sinal, carregam as informações de cor em torno dessa luminância. Envie números JSON reais, e não strings numéricas, para manter o contrato inequívoco na API, nos SDKs e no formulário do navegador. O conversor rejeita valores ausentes, strings, valores semelhantes a NaN, infinitos e números fora dos intervalos declarados. Essa regra evita que um erro de digitação ou escala gere uma cor aparentemente plausível. Os aliases luminance, in_phase e quadrature são aceitos em integrações descritivas, mas y, i e q são os campos canônicos.

Entenda a matriz NTSC inversa e o recorte

O cálculo usa a transformação inversa fixa R = Y + 0.956I + 0.621Q, G = Y - 0.272I - 0.647Q e B = Y - 1.106I + 1.703Q. Cada equação produz primeiro um canal normalizado sem recorte. Mesmo componentes YIQ válidos podem descrever uma cor fora do cubo RGB, pois a região YIQ permitida não corresponde ao conjunto de combinações de vermelho, verde e azul limitado entre zero e um. Por isso, cada saída bruta é recortada separadamente: valores abaixo de zero viram zero, e valores acima de um viram um. O conversor mantém os números anteriores ao recorte em unclamped_rgb e identifica cada canal afetado em clipped, sem ocultar a limitação. Em seguida, multiplica cada componente normalizado recortado por 255 e arredonda para o inteiro mais próximo, criando canais comuns de 8 bits. Os mesmos canais são formatados como uma cor hexadecimal minúscula de seis dígitos e como um valor CSS rgb(). Coeficientes fixos e arredondamento decimal estável tornam as repetições previsíveis.

Leia o resultado e use-o com segurança

Use red, green e blue quando um aplicativo esperar canais inteiros separados; rgb quando ele esperar uma lista de três elementos; hex em ferramentas de design e seletores de cor; ou css em uma declaração de estilo. normalized_rgb é útil em código gráfico que trabalha com canais entre zero e um. unclamped_rgb serve para diagnóstico, não para exibição direta: ele mostra o resultado da matriz antes da limitação de gama. Verifique clipped sempre que a fidelidade das cores for importante. Um canal recortado indica que o ponto YIQ solicitado está fora do RGB exibível e que a cor retornada é a aproximação obtida por recorte independente, não uma representação exatamente reversível. Essa diferença importa ao analisar sinais antigos de televisão, transportar fórmulas de processamento de imagens ou comparar implementações com convenções distintas. Registre a matriz escolhida junto aos resultados caso outro sistema possa usar outra definição de YIQ. O endpoint faz uma conversão por solicitação e custa US$ 0,002 pela API, sem dependência de rede, aleatoriedade, relógio, estado oculto ou formatação regional.

Decodificar dados históricos de cor NTSC

Converta amostras normalizadas de luminância e crominância de um conjunto YIQ educativo ou de arquivo em canais RGB exibíveis.

Verificar uma implementação gráfica

Compare a saída da sua matriz inversa, recorte de gama, formato hexadecimal e arredondamento com uma referência determinística.

Examinar cores fora da gama

Use valores sem recorte e indicadores por canal para entender por que um ponto YIQ válido não cabe exatamente no cubo RGB.

Quais intervalos de entrada são aceitos?

Y aceita de 0 a 1, I de -0.5957 a 0.5957 e Q de -0.5226 a 0.5226. Todos devem ser números JSON finitos.

Qual matriz inversa o conversor utiliza?

Ele utiliza R = Y + 0.956I + 0.621Q, G = Y - 0.272I - 0.647Q e B = Y - 1.106I + 1.703Q.

Por que uma entrada YIQ válida pode sofrer recorte?

Os intervalos válidos podem ultrapassar o cubo RGB normalizado. Canais brutos fora de 0 a 1 são recortados para exibição.

Como são produzidos os canais RGB de 8 bits?

Cada canal normalizado é limitado entre 0 e 1, multiplicado por 255 e arredondado para o inteiro mais próximo.

Essa conversão é reversível?

Somente quando os coeficientes e o arredondamento coincidem e nenhum canal é recortado. O arredondamento inteiro também elimina precisão.

Quanto custa uma solicitação de API?

Cada solicitação custa US$ 0,002. A conversão processa um item de cor YIQ por solicitação.

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/yiq-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/yiq-rgb \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"y":0.5,"i":0.2,"q":-0.1}'
{
  "y": 0.5,
  "i": 0.2,
  "q": -0.1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.yiq_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.

Ver a documentação completa do KIT →