Invierta colores de imagen y calcule valores RGB complementarios
Obtenga el color complementario exacto de cada píxel RGB: cada canal pasa a ser 255 menos su valor, así que el negro se vuelve blanco, el rojo cian y 12, 34, 56 se convierte en 243, 221, 199. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
El inversor de colores de imagen recibe una secuencia de muestras de píxeles RGB y calcula el color complementario exacto de cada una. Sustituye cada canal rojo, verde y azul por 255 menos su valor original; así, el negro se convierte en blanco, el rojo en cian y todos los valores intermedios cambian de forma predecible. La herramienta valida cada canal antes de procesarlo y rechaza valores fuera del intervalo RGB estándar de 0–255, por lo que resulta adecuada para comprobaciones rápidas, enseñanza, pruebas y flujos de datos deterministas.
Proporcione muestras RGB con una estructura clara
Introduzca uno o más píxeles, cada uno con los canales numéricos r, g y b. Se conserva el orden de las muestras: el primer resultado invertido corresponde a la primera muestra de entrada, el segundo a la segunda y así sucesivamente. Los valores pueden ser los extremos 0 y 255 o cualquier número intermedio.
Cada valor debe ser finito y mantenerse dentro del intervalo inclusivo 0–255 utilizado por las muestras RGB estándar. Si falta un canal, no es numérico, es infinito o queda fuera del intervalo, la solicitud se detiene con un error de entrada en lugar de devolver una lista transformada solo en parte. Esta validación estricta es útil cuando los valores RGB proceden de un analizador, una hoja de cálculo, un script gráfico o un caso de prueba, pues impide que datos defectuosos lleguen inadvertidamente a operaciones posteriores.
Comprenda el cálculo de inversión
La inversión se realiza por separado en los tres canales con una misma ecuación: el valor de salida es 255 menos el valor de entrada. Por tanto, un píxel con rojo 255, verde 0 y azul 0 pasa a rojo 0, verde 255 y azul 255, es decir, cian. El negro, representado por 0, 0, 0, se convierte en blanco con 255, 255, 255.
Los valores centrales permanecen cerca del centro, mientras los canales oscuros se aclaran y los claros se oscurecen. No se aplican conversión de perfil de color, ajuste gamma, redondeo, mezcla ni compresión. La capacidad opera directamente sobre las muestras numéricas suministradas, de modo que el cálculo es transparente y reproducible.
También conserva valores fraccionarios válidos en vez de forzarlos a enteros; por ejemplo, 10.5 se convierte en 244.5. Esto permite usar el resultado en flujos RGB de coma flotante antes de rasterizar o cuantificar. Con la misma entrada, todas las llamadas producen exactamente la misma salida.
Use el resultado en flujos de imagen y pruebas
El objeto devuelto contiene una lista pixels con los registros RGB invertidos en el orden original. Puede enviar esos valores a su propio código de canvas, codificador ráster, preparación de sombreadores, generador de casos de prueba o flujo de análisis cromático. La capacidad trabaja deliberadamente con muestras y no con archivos PNG o JPEG codificados: decodificar y volver a codificar puede introducir decisiones sobre metadatos, compresión, canal alfa y perfiles de color que no forman parte de una inversión RGB sencilla.
Un contrato específico facilita auditar las matemáticas y comparar resultados entre entornos. Resulta especialmente útil para obtener valores esperados canónicos en pruebas gráficas, explicar colores complementarios en clase o invertir colores ya extraídos por otra herramienta.
Qué puede hacer con ella
Enseñe los colores complementarios
Muestre con exactitud cómo cambian el negro, el blanco, los colores primarios y los valores RGB intermedios al invertir cada canal.
Prepare píxeles para renderizarlos
Transforme muestras RGB ya decodificadas por un canvas, analizador ráster o flujo gráfico antes de enviarlas al siguiente proceso.
Preguntas frecuentes
¿Cuánto cuesta la operación?
También puede ejecutar este cálculo determinista en el navegador desde esta página.
¿Qué ocurre si un canal queda fuera de 0–255?
La solicitud falla con un error de entrada no válida que identifica el píxel y el canal. No se devuelve un resultado parcial.
¿Se admiten valores RGB fraccionarios?
Sí. Se acepta cualquier valor numérico finito entre 0 y 255 y se devuelve su inverso exacto sin redondeo forzado.
¿La herramienta acepta archivos PNG o JPEG?
No. Recibe muestras de píxeles RGB decodificadas. La decodificación, los metadatos, la compresión, el canal alfa y los perfiles de color quedan fuera de este cálculo.
¿Se conserva el orden de los píxeles?
Sí. Cada registro de salida ocupa la misma posición de la lista que su registro de entrada correspondiente.
¿Cuántas muestras admite una solicitud?
Una solicitud puede contener desde una hasta 100,000 muestras RGB.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/image/invert-colors \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pixels":[{"r":255,"g":128,"b":0},{"r":12,"g":34,"b":56}]}'const res = await fetch("https://api.kit.forhosting.com/image/invert-colors", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pixels": [
{
"r": 255,
"g": 128,
"b": 0
},
{
"r": 12,
"g": 34,
"b": 56
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/invert-colors",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pixels": [
{
"r": 255,
"g": 128,
"b": 0
},
{
"r": 12,
"g": 34,
"b": 56
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/invert-colors", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pixels":[{"r":255,"g":128,"b":0},{"r":12,"g":34,"b":56}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pixels":[{"r":255,"g":128,"b":0},{"r":12,"g":34,"b":56}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/invert-colors", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"pixels": [
{
"r": 255,
"g": 128,
"b": 0
},
{
"r": 12,
"g": 34,
"b": 56
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.invert_colors",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_items | 100000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Proporcione muestras RGB con una estructura clara
Una solicitud admite hasta 100,000 muestras, un límite práctico para el navegador y la automatización mediante API.
Use el resultado en flujos de imagen y pruebas
La versión del navegador ejecuta el mismo cálculo puro que la API. Puede hacer comprobaciones interactivas en la página y llamar a la API por $0.002 por solicitud para trabajos recurrentes, sin cambiar las reglas de transformación.
Casos de integración
Cree datos de prueba para gráficos
Genere muestras RGB complementarias deterministas para pruebas unitarias sin duplicar la aritmética de inversión al preparar los datos.