ForHosting KIT · Imágenes

Despremultiplicar alfa RGBA y recuperar canales directos

Deshaga el alfa premultiplicado de un píxel: rojo 0,125, verde 0,25 y azul 0,375 con alfa 0,5 vuelven a ser 0,25, 0,5 y 0,75, y el alfa no cambia. Se rechazan el alfa cero y los colores mayores que alfa. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Red
0,125
Verde
0,25
Azul
0,375
Alfa
0,5
Obtiene
Red
0,25
Verde
0,5
Azul
0,75
RGBA
0,25, 0,5, 0,75, 0,5

La herramienta para despremultiplicar alfa RGBA recupera los canales directos rojo, verde y azul de un píxel premultiplicado normalizado. Introduzca cuatro canales numéricos entre 0 y 1: la calculadora divide cada componente de color entre alfa y conserva el alfa original. También comprueba que ningún color premultiplicado supere alfa y rechaza alfa cero, caso en el que no puede recuperarse el color de origen. La respuesta determinista incluye canales con nombre y una matriz RGBA ordenada para herramientas gráficas, pruebas, conversores y procesos de imágenes.

Distinga entre alfa premultiplicado y directo

Los datos RGBA pueden representar la transparencia de dos formas habituales. Con alfa directo se guardan los valores originales de rojo, verde y azul independientemente de la opacidad. Con alfa premultiplicado, cada color se almacena después de multiplicarlo por alfa.

Por ejemplo, un rojo directo de 0.8 con alfa 0.5 se guarda como rojo premultiplicado 0.4. Este formato facilita varias operaciones de composición y evita ciertos bordes de color, pero los canales almacenados dejan de expresar directamente el color original. Esta capacidad invierte la operación para un píxel normalizado: divide rojo, verde y azul entre alfa y devuelve alfa sin cambios.

La entrada usa el intervalo de 0 a 1, no bytes de 0 a 255, para conservar una relación fraccionaria explícita. La salida ofrece cada canal recuperado por nombre y también una matriz RGBA en el orden rojo, verde, azul y alfa, apropiada para sistemas que trabajan con posiciones.

Comprenda por qué alfa cero produce un error

La despremultiplicación solo está definida cuando alfa es mayor que cero. Si alfa vale cero, todos los canales correctamente premultiplicados también valen cero, cualquiera que fuera el color directo antes de multiplicar. Por ello, un píxel transparente con rojo 0, verde 0, azul 0 y alfa 0 podría proceder de cualquier color RGB y una división entre cero no puede recuperar una respuesta única.

Devolver negro, conservar los ceros o inventar otro valor parecería determinista, pero atribuiría a la entrada información inexistente. También rechaza números no finitos, canales fuera del intervalo normalizado y cualquier rojo, verde o azul premultiplicado superior a alfa. Esta última regla mantiene la invariancia propia de datos normalizados y evita resultados directos mayores que 1.

Así, los problemas quedan visibles antes de llegar a un renderizador, una textura, un conversor de recursos o una comparación automatizada.

Integre una recuperación determinista de canales

Envíe un píxel mediante los campos rojo, verde, azul y alfa. Los valores 0.125, 0.25, 0.375 y alfa 0.5 producen los canales directos 0.25, 0.5 y 0.75, manteniendo alfa 0.5. No intervienen redondeo, conversión de espacio cromático, corrección gamma, limitación, cuantización a bytes, aleatoriedad, reloj ni formato regional.

Para imágenes completas, incorpore la operación a un proceso acotado por píxeles y confirme siempre que la fuente esté realmente premultiplicada.

Normalizar registros de recursos

Convierta registros RGBA individuales a una representación de alfa directo antes de serializarlos, revisarlos o transformarlos.

¿Qué intervalo de canales acepta esta capacidad?

Los cuatro canales deben ser números finitos normalizados entre 0 y 1, y alfa debe ser mayor que cero.

¿Por qué un color premultiplicado no puede superar alfa?

Al multiplicar por alfa un color normalizado no mayor que 1, el resultado nunca supera alfa; una entrada así sería incoherente.

¿Convierte espacios de color o corrige gamma?

No. Solo realiza la despremultiplicación aritmética de los canales numéricos suministrados; convierta el espacio de color por separado.

¿La salida redondea o limita los canales recuperados?

No. Las entradas válidas ya garantizan el intervalo normalizado y cada color resulta de dividir directamente su valor premultiplicado entre alfa.

¿Qué diferencia hay entre alfa directo y alfa premultiplicado?

El alfa directo guarda el color original aparte de la opacidad; el premultiplicado guarda cada color ya multiplicado por alfa. Un rojo directo de 0,8 con alfa 0,5 se guarda premultiplicado como 0,4.

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/unpremultiply

¿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/unpremultiply \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"red":0.125,"green":0.25,"blue":0.375,"alpha":0.5}'
{
  "red": 0.125,
  "green": 0.25,
  "blue": 0.375,
  "alpha": 0.5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.unpremultiply",
  "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.

Comprenda por qué alfa cero produce un error

La calculadora responde entonces con `invalid_input`.

Integre una recuperación determinista de canales

Use esta operación cuando una biblioteca de imágenes, una API gráfica, una exportación de lienzo, una cadena de texturas o un recurso serializado entregue canales normalizados premultiplicados y el siguiente sistema espere alfa directo. El cálculo es una división directa conforme a las reglas numéricas de ECMAScript, de modo que una entrada JSON válida e idéntica produce la misma salida en navegador y API. La API cuesta $0.002 por solicitud.

Convertir resultados de API gráficas

Recupere colores directos normalizados antes de enviar píxeles premultiplicados a una interfaz que espere RGB y alfa independientes.

Verificar cálculos de composición

Compruebe muestras premultiplicadas conocidas en pruebas unitarias y compare los canales recuperados con los valores directos esperados.

¿Qué sucede cuando alfa vale cero?

La solicitud falla con `invalid_input` porque los datos premultiplicados totalmente transparentes no permiten recuperar un color directo único.

Ver la documentación completa del KIT →