ForHosting KIT · Utilidades de desarrollo

Interpolación de color Bézier cúbica

La interpolación de color Bézier cúbica calcula el color exacto alcanzado entre dos extremos hexadecimales después de que una curva temporal transforme la fracción solicitada.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Indique los colores inicial y final, una fracción entre cero y uno y las cuatro coordenadas de control empleadas por el easing cubic-bezier de CSS. El resultado incluye la fracción suavizada, los colores normalizados, el valor hexadecimal y los canales RGB, para que las transiciones sean reproducibles en herramientas de diseño, procesos de animación, pruebas y recursos generados sin depender del reloj de animación de un navegador.

Separe el avance temporal del avance visual del color

Una mezcla lineal interpreta el cincuenta por ciento del tiempo transcurrido como el cincuenta por ciento de la distancia entre dos colores. Las interfaces reales suelen necesitar otro ritmo: una transición puede comenzar con suavidad, acelerarse en el centro y detenerse gradualmente al acercarse al destino. Esta capacidad aplica una curva temporal Bézier cúbica antes de mezclar los canales RGB. La entrada t sigue siendo la fracción de la línea temporal, mientras que eased_t muestra la fracción de color producida por la curva. Esta distinción facilita la inspección y reutilización del resultado. En el instante cero se devuelve el color inicial y en el instante uno se devuelve el final. Entre ambos extremos, la curva determina la rapidez con la que avanzan los canales. Como la operación recibe números explícitos y no consulta ningún reloj, las solicitudes idénticas producen la misma salida. Esto resulta útil cuando un renderizador, exportador de diseño, conjunto de pruebas o proceso de compilación debe coincidir en un fotograma de transición sin ejecutar una animación ni estimar qué mostró un navegador en un instante concreto.

Cómo se resuelve la fracción Bézier cúbica

Una curva Bézier cúbica al estilo de CSS comienza en cero, termina en uno y posee dos puntos de control definidos por quien realiza la llamada. La fracción temporal solicitada pertenece al eje x de la curva, por lo que evaluar directamente el polinomio y con ese mismo número sería incorrecto para la mayoría de las curvas. La calculadora encuentra primero el parámetro interno cuyo valor x coincide con la fracción solicitada. Utiliza una búsqueda de Newton acotada cuando la pendiente es adecuada y una bisección de cantidad fija como alternativa estable. Después evalúa la coordenada y en el parámetro obtenido. Las coordenadas x de control deben estar entre cero y uno; así el tiempo permanece monótono y la respuesta es única. Las coordenadas y pueden ir de menos diez a diez, lo que permite curvas con anticipación y sobreimpulso. Si el easing sale del intervalo normal, los canales RGB interpolados se limitan a bytes válidos. Los decimales se redondean de forma uniforme y los canales al entero más cercano. Estas reglas evitan depender del motor del navegador, la frecuencia de fotogramas o el muestreo de animación de cada plataforma.

Elija las entradas y utilice el color devuelto

Escriba cada color con tres o seis dígitos hexadecimales, precedidos opcionalmente por una almohadilla. Los colores abreviados se expanden y todos los valores aceptados se devuelven normalizados con seis dígitos en minúsculas. Proporcione t entre cero y uno y, a continuación, x1, y1, x2 e y2 en el orden habitual de cubic-bezier. Por ejemplo, la forma ease-in-out común utiliza 0.42, 0, 0.58 y 1. La respuesta conserva los extremos normalizados y la curva, expone la fracción suavizada calculada y entrega tanto un color hexadecimal como canales rojo, verde y azul separados. Utilice el hexadecimal en CSS, SVG, tokens de diseño o instrucciones de imagen; use el objeto de canales cuando prefiera datos numéricos estructurados. Para obtener una secuencia de fotogramas, repita la operación con fracciones temporales uniformes y mantenga constantes los extremos y controles. La validación rechaza colores mal formados, números no finitos, fracciones fuera de la línea temporal, controles x no monótonos y controles y excesivos, por lo que una configuración inválida no puede generar silenciosamente una muestra engañosa.

Genere fotogramas de animación deterministas

Muestree una transición de color suavizada en fracciones exactas para un renderizador o proceso de recursos sin depender del reloj real.

Pruebe los colores de transición de una interfaz

Calcule el hexadecimal intermedio esperado para pruebas visuales y de componentes que emplean una curva Bézier cúbica documentada.

Cree una escala suavizada de tokens de diseño

Genere una secuencia de tokens de color cuyo espaciado siga el mismo ritmo de aceleración y reposo que una animación de interfaz.

¿Cuánto cuesta una solicitud?

Cada solicitud API cuesta $0.002. La versión para navegador puede ejecutarse localmente sin enviar el cálculo a la API.

¿Equivale a una mezcla lineal de colores?

No. Una mezcla lineal utiliza directamente la fracción indicada; esta operación transforma primero la fracción mediante la curva Bézier cúbica.

¿Por qué x1 y x2 deben estar entre cero y uno?

Esta restricción mantiene monótono el avance temporal, respeta las reglas de las funciones temporales CSS y permite invertir x sin ambigüedad.

¿Puede la curva de easing producir sobreimpulso?

Sí. y1 e y2 pueden quedar fuera del intervalo de cero a uno. La fracción suavizada muestra el sobreimpulso y los canales RGB se limitan a valores válidos.

¿Qué formatos de color se admiten?

Se admiten colores RGB hexadecimales de tres o seis dígitos, con o sin almohadilla inicial. No se admiten canales alfa ni nombres de color.

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/bezier-interpolate

¿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/bezier-interpolate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"color1":"#ff6600","color2":"#3366ff","t":0.5,"x1":0.42,"y1":0,"x2":0.58,"y2":1}'
{
  "color1": "#ff6600",
  "color2": "#3366ff",
  "t": 0.5,
  "x1": 0.42,
  "y1": 0,
  "x2": 0.58,
  "y2": 1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.bezier_interpolate",
  "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 →