Fusión pin light
#C0C0C0 encima de #808080 da #818181: los canales claros de la capa superior solo elevan un poco la base, de 128 a 129. La luz puntual conserva la base salvo que la capa de arriba sea bastante más oscura o más clara. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Base
- #808080
- Top
- #C0C0C0
- Hex
- #818181
- Cadena RGB
- rgb(129, 129, 129)
- Modo R
- lighten
- Modo G
- lighten
Pin light es un modo de fusión clásico de composición que sustituye cada canal de un color base por un valor más oscuro o más claro según el color superior (de fusión). Cuando un canal superior queda por debajo del gris medio, el modo oscurece: el resultado es el mínimo entre el canal base y el doble del canal superior. Cuando un canal superior está en el gris medio o por encima, el modo aclara: el resultado es el máximo entre el canal base y el doble del canal superior menos doscientos cincuenta y cinco. Diseñadores, artistas de texturas e ingenieros de pipelines recurren a pin light cuando necesitan un contraste selectivo nítido sin un editor de imagen completo: superponer una máscara de luces, apretar sombras bajo un panel de tono medio o igualar vistas previas de pin light de Photoshop en herramientas de temas automatizadas. Esta capacidad acepta dos colores hex validados, aplica la misma regla determinista por canal en rojo, verde y azul, y devuelve la muestra fusionada como hex y RGB.
Cómo pin light elige oscurecer o aclarar en cada canal
Pin light trata el color superior como una superficie de decisión, no como una simple proporción de mezcla. Para cada canal en el rango de cero a doscientos cincuenta y cinco, compare el canal superior con el gris medio (ciento veintiocho). Si el canal superior es estrictamente menor que ciento veintiocho, se ejecuta la rama de oscurecimiento: el doble del canal superior se convierte en un límite superior, y el resultado es el menor entre ese límite y el canal base.
Visualmente, esto reduce los píxeles base brillantes allí donde la capa superior es una sombra profunda. Si el canal superior es mayor o igual que ciento veintiocho, se ejecuta la rama de aclarado: el doble del canal superior menos doscientos cincuenta y cinco se convierte en un límite inferior, y el resultado es el mayor entre ese límite y el canal base. Eso eleva los píxeles base oscuros allí donde la capa superior es un realce brillante.
Los canales superiores en gris medio quedan en el límite y suelen dejar los valores base casi intactos porque los envolventes de oscurecer y aclarar se encuentran cerca de la base. El orden importa: intercambiar base y top es otra operación, a diferencia de una interpolación RGB al cincuenta por ciento.
Contrato de entrada, campos de respuesta y errores de validación
Cada valor debe ser un color hexadecimal de tres o seis dígitos con prefijo opcional hash o zero-x. Los nombres CSS y las cadenas rgb entre paréntesis quedan fuera de alcance: normalícelos aguas arriba. Los fallos de validación no se cobran.
Use hex cuando necesite un token único para archivos de tema; use rgb cuando el código de canvas o las herramientas de accesibilidad esperen canales separados; use las etiquetas mode_* al enseñar o depurar qué rama se activó con un color superior de gris y tinte mezclados.
Qué puede hacer con ella
Superposiciones selectivas de luces y sombras
Componga un color de panel de tono medio bajo un hex de máscara superior para que los canales oscuros profundicen sombras y los claros refuercen luces sin un editor de imagen completo.
Ajuste de materiales de juego e interfaz
Los autores de materiales fusionan un token de albedo base con un color superior de pista de iluminación para generar muestras de acento pin light en pieles de HUD y paletas de props.
Preguntas frecuentes
¿Cómo fusiona pin light dos colores?
Por cada canal RGB, si top es menor que 128 el resultado es min(base, 2×top) (darken); si top es 128 o mayor, max(base, 2×top−255) (lighten). Envíe base y top en hex.
¿Cuál es la diferencia entre base y top?
Base es el color de la capa inferior. Top es el color de fusión que elige oscurecer o aclarar por canal. El orden importa; intercambiarlos da otro resultado.
¿Qué ocurre si envío un código hex inválido?
Ambos colores deben ser hexadecimales de 3 o 6 dígitos (# opcional). Longitud incorrecta o dígitos no hex se rechazan y no se cobran.
¿Es gratuita la fusión pin light?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿Es lo mismo que color.mix?
No. color.mix hace una interpolación RGB lineal por ratio. Pin light no usa ratio: solo el canal top elige oscurecer o aclarar. Algoritmo e intención de búsqueda distintos.
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/color/pin-light \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base":"#808080","top":"#C0C0C0"}'const res = await fetch("https://api.kit.forhosting.com/color/pin-light", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base": "#808080",
"top": "#C0C0C0"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/pin-light",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base": "#808080",
"top": "#C0C0C0"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/pin-light", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base":"#808080","top":"#C0C0C0"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base":"#808080","top":"#C0C0C0"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/pin-light", 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
{
"base": "#808080",
"top": "#C0C0C0"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.pin_light",
"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.
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
Entradas inválidas o ausentes fallan con invalid_input para que los scripts no envíen un color erróneo en silencio. La ruta gratuita del navegador y la API prepago comparten un único módulo puro, de modo que los goldens permanecen idénticos bit a bit a $0.002 por elemento correcto.
Cómo pin light elige oscurecer o aclarar en cada canal
El algoritmo es aritmética pura, sin red, sin semilla aleatoria y sin reloj de pared, de modo que entradas idénticas producen siempre el mismo JSON.
Contrato de entrada, campos de respuesta y errores de validación
Envíe un cuerpo JSON con dos campos de cadena obligatorios: base (la capa inferior) y top (la capa de fusión que selecciona oscurecer o aclarar). Los alias color1, bottom, hex1, from y background se asignan a base; color2, blend, hex2, to y foreground se asignan a top, de modo que formularios antiguos y el vocabulario de herramientas de diseño conectan con claridad. Si tiene éxito, la carga útil repite base y top en hex normalizado, los objetos de canal base_rgb y top_rgb, el hex fusionado, rgb como enteros r g b, rgb_string para pegar en CSS, mode_r mode_g y mode_b como las palabras darken o lighten por canal, y method siempre igual a pin_light para que los clientes puedan ramificar sin inspeccionar formas. Base ausente, top ausente, cadenas vacías, dígitos no hex y longitudes incorrectas fallan con invalid_input; los mensajes nombran el campo para que la validación del formulario resalte el control exacto.
Flujos de trabajo, precios y diferencias con otras herramientas de color
Utilice la fusión pin light gratuita en el navegador para comprobaciones rápidas de máscaras, experimentos de superposición de logotipos y vistas previas de texturas sin instalar una suite de escritorio. Pin light es la intención de búsqueda correcta cuando el usuario escribe modo de fusión pin light, pin light dos colores o Photoshop pin light hex: esas consultas no las atiende un mezclador genérico. Limite las peticiones a dos cadenas hex, evite enviar nombres de color sin conversión y documente que base es la capa inferior para que el equipo no invierta el orden por accidente. Emplee la API prepago cuando un pipeline de design system, un generador de materiales de juego, un servicio de muestras de comercio electrónico o un bot de activos de marketing necesiten un contrato estable bajo saldo KIT a $0.002 por elemento correcto. Combine este endpoint con color.mix cuando necesite una interpolación por ratio en lugar de un oscurecido o aclarado selectivo, con color.mix_subtractive cuando desee un barro tipo pintura RYB, y con color.lighten o color.darken cuando solo un color deba desplazarse por porcentaje. Los autores que mapean SDK pueden mostrar hex y las tres etiquetas de modo junto a selectores de color que estudiantes y diseñadores de producción ya esperan.
Casos de integración
Igualar vistas previas pin light de Photoshop en CI
Los pipelines de temas y texturas llaman a la API para que las compilaciones automáticas reproduzcan el mismo hex pin light que vio el diseñador en Photoshop, idéntico bit a bit en cada ejecución.