ForHosting KIT · Utilidades de desarrollo

Convertidor YIQ a RGB

Este convertidor de YIQ a RGB transforma la luminancia y los dos componentes de crominancia del modelo de color NTSC en valores prácticos de rojo, verde y azul.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Aplica una matriz inversa fija, muestra canales normalizados y de 8 bits e indica cuándo fue necesario recortar un canal al intervalo RGB visible. La validación estricta detecta entradas ausentes, no numéricas, infinitas o fuera de dominio antes del cálculo. No utiliza la red y siempre produce el mismo resultado para los mismos componentes Y, I y Q.

Introduzca correctamente los componentes YIQ normalizados

Indique tres componentes numéricos: Y para luminancia, I para crominancia en fase y Q para crominancia en cuadratura. Y debe estar entre 0 y 1, I entre -0.5957 y 0.5957, y Q entre -0.5226 y 0.5226. Estos son límites YIQ NTSC normalizados, no valores en bytes ni porcentajes. Un valor Y próximo a cero representa poca luminancia; uno próximo a uno representa mucha luminancia. Los componentes I y Q, con signo, contienen la información de color alrededor de esa luminancia. Envíe números JSON reales, no cadenas numéricas, para que el contrato sea inequívoco en la API, los SDK y el formulario web. El convertidor rechaza valores ausentes, cadenas, valores semejantes a NaN, infinitos y números fuera de los intervalos declarados. Esta exigencia evita que un error de escritura o escala genere un color aparentemente razonable. Se aceptan alias como luminance, in_phase y quadrature, pero y, i y q son los campos canónicos.

Comprenda la matriz NTSC inversa y el recorte

El cálculo utiliza la transformación inversa fija R = Y + 0.956I + 0.621Q, G = Y - 0.272I - 0.647Q y B = Y - 1.106I + 1.703Q. Cada ecuación genera primero un canal normalizado sin recortar. Incluso componentes YIQ válidos pueden describir un color fuera del cubo RGB porque la región YIQ permitida no coincide con todas las combinaciones de rojo, verde y azul limitadas entre cero y uno. Por ello, cada salida bruta se recorta de forma independiente: un valor menor que cero pasa a cero y uno mayor que uno pasa a uno. El convertidor conserva los valores anteriores al recorte en unclamped_rgb e identifica cada canal afectado en clipped, de modo que la operación nunca queda oculta. Después multiplica cada componente normalizado recortado por 255 y redondea al entero más cercano para obtener canales habituales de 8 bits. Esos mismos canales se formatean como color hexadecimal de seis dígitos en minúsculas y como valor CSS rgb().

Interprete el resultado y úselo con seguridad

Utilice red, green y blue cuando una aplicación espere canales enteros separados; rgb cuando espere una matriz de tres elementos; hex para herramientas de diseño y selectores de color; o css para una declaración de estilos. normalized_rgb resulta útil en código gráfico que consume canales entre cero y uno. unclamped_rgb es un dato de diagnóstico, no un color directamente visible: muestra lo que produjo la matriz antes de limitar la gama. Consulte clipped cuando importe la fidelidad cromática. Un canal recortado significa que el punto YIQ solicitado queda fuera del RGB representable y que el color devuelto es el resultado más próximo mediante recorte independiente, no una representación reversible exacta. Esto importa al estudiar señales históricas de televisión, trasladar fórmulas de procesamiento de imágenes o comparar implementaciones con coeficientes diferentes. Registre la matriz elegida junto al resultado si otro sistema pudiera usar otra definición de YIQ. El endpoint procesa una conversión por solicitud y cuesta $0.002 mediante la API, sin red, azar, reloj, estado oculto ni formato dependiente de la configuración regional.

Decodificar datos de color NTSC históricos

Convierta muestras normalizadas de luminancia y crominancia de un conjunto YIQ educativo o de archivo en canales RGB visibles.

Verificar una implementación gráfica

Compare su matriz inversa, recorte de gama, formato hexadecimal y redondeo entero con un resultado determinista de referencia.

Examinar colores fuera de gama

Use los valores sin recortar y los indicadores por canal para entender por qué un punto YIQ válido no cabe exactamente en el cubo RGB.

¿Qué intervalos de entrada se aceptan?

Y admite de 0 a 1, I de -0.5957 a 0.5957 y Q de -0.5226 a 0.5226. Los tres deben ser números JSON finitos.

¿Qué matriz inversa utiliza el convertidor?

Utiliza R = Y + 0.956I + 0.621Q, G = Y - 0.272I - 0.647Q y B = Y - 1.106I + 1.703Q.

¿Por qué una entrada YIQ válida puede sufrir recorte?

Los intervalos válidos pueden extenderse fuera del cubo RGB normalizado. Los canales brutos que quedan fuera de 0 a 1 se recortan para mostrarlos.

¿Cómo se obtienen los canales RGB de 8 bits?

Cada canal normalizado se limita entre 0 y 1, se multiplica por 255 y se redondea al entero más cercano.

¿Es reversible esta conversión?

Solo lo es si coinciden los coeficientes y el método de redondeo y ningún canal se recorta. El redondeo a enteros también elimina precisión.

¿Cuánto cuesta una solicitud de API?

Cada solicitud cuesta $0.002. La conversión procesa un elemento de color YIQ por solicitud.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →