PDFMove
¿Qué le pasa a la transparencia al convertir de PNG a BMP?
Guía

¿Qué le pasa a la transparencia al convertir de PNG a BMP?

6 min de lectura

El verdadero tema de la conversión

Lo que más suele preguntar la gente al pasar de PNG a BMP es el tamaño del archivo, y con razón, porque la diferencia es llamativa. Pero el tamaño es un resultado previsible; es un aumento matemático, sin sorpresas.

La verdadera sorpresa se produce en la transparencia. Cuando conviertes un PNG transparente a BMP y lo abres en el sistema de destino, es bastante probable que te encuentres con un fondo que no esperabas. Este artículo cuenta exactamente qué ocurre ahí.

¿Qué es el canal alfa?

En PNG, junto a la información de color de cada píxel puede haber también una información de opacidad. Eso se llama canal alfa. El valor puede ir de completamente transparente a completamente opaco; es decir, un píxel puede ser totalmente visible, totalmente invisible o semitransparente.

Esos valores intermedios son importantes. Las líneas curvas del borde de un logotipo se suavizan con píxeles semitransparentes para que no se vean dentadas. Un efecto de sombra se vuelve transparente de forma gradual. Es decir, el canal alfa no significa solo "no hay fondo", es la receta de cómo se va a mezclar la imagen.

La incertidumbre del lado de BMP

La variante BGRA de 32 bits de BMP puede alojar un byte alfa por píxel. Es decir, desde el punto de vista de la especificación parece que la transparencia se puede transportar.

En la práctica, sin embargo, la situación es confusa. Ese soporte es inconsistente entre las aplicaciones que leen el archivo:

  • Algunos programas interpretan correctamente el byte alfa y muestran la transparencia.
  • Muchos programas ignoran por completo el byte alfa y dibujan la imagen como opaca.
  • Algunos softwares tratan ese byte de una forma que no te esperas en absoluto.

Esa incertidumbre viene de la filosofía de diseño original de BMP. El formato se creó buscando la simplicidad; el soporte alfa quedó como una extensión añadida después y nunca llegó a convertirse en una expectativa universal.

La conclusión es esta: que tu archivo lleve información de transparencia no garantiza que el programa de destino vaya a usarla. Y como el motivo por el que conviertes a BMP suele ser precisamente un sistema antiguo, dar por hecho que ese sistema no admite alfa no es solo estadísticamente correcto, es lógicamente correcto.

¿En qué se convierten las zonas transparentes?

Cuando se ignora el alfa, las regiones transparentes se aplanan, es decir, se rellenan con un color opaco. Con qué color se rellenan no es algo fijo:

  • Blanco, el valor por defecto más frecuente.
  • Negro, en algunas herramientas y lectores.
  • Un color inesperado, porque al ignorarse el alfa puede aflorar el dato de color que había escondido debajo del píxel.

Esa incertidumbre resulta especialmente molesta en este escenario: quieres usar un logotipo transparente sobre un panel oscuro, lo conviertes y en el dispositivo aparece un rectángulo blanco alrededor del logotipo.

El problema oculto de los bordes semitransparentes

El aplanado tiene un efecto secundario menos conocido pero más traicionero.

Los píxeles semitransparentes de los bordes curvos de un logotipo se mezclan durante el aplanado con el color de fondo que tienen debajo. Un logotipo aplanado sobre un fondo blanco lleva en sus bordes una transición que se abre hacia el blanco.

Cuando usas ese logotipo sobre un panel oscuro, esa transición clara de los bordes sigue ahí y se ve como un halo fino a su alrededor. La imagen no está completamente estropeada, pero tampoco parece profesional, y encontrar la causa es difícil, porque el archivo parece "correcto".

Por eso elegir bien el color de aplanado no determina solo el fondo, sino también la calidad de los bordes.

El método correcto: toma tú el control

La manera de eliminar la incertidumbre es no dejarle la decisión a la herramienta.

Rellena tú mismo el fondo antes de convertir. Abre la imagen en un editor, pon debajo una capa lisa del color que se vaya a usar en el destino y aplánala. Ya no hay transparencia; la imagen es exactamente como tú quieres y, cuando la conviertas de PNG a BMP, no te llevarás ninguna sorpresa.

Este enfoque tiene tres beneficios:

  • El color de fondo es con total seguridad el que tú has elegido.
  • Los bordes semitransparentes se mezclan con el color correcto y no se produce el problema del halo.
  • Que el sistema de destino admita o no el alfa deja de ser relevante.

Si conservar la transparencia es imprescindible

En algunos casos la transparencia es realmente necesaria: si un elemento de interfaz se va a mostrar sobre fondos variables, un fondo liso no sirve.

En esa situación, las opciones son estas:

Quédate en PNG. Si el sistema de destino acepta PNG, no hace falta convertir nada. PNG admite el canal alfa de forma completa y consistente.

Investiga el mecanismo propio del sistema de destino. Algunas interfaces antiguas usan métodos distintos en lugar del canal alfa: un archivo de máscara aparte o el método del color clave, que considera transparente un color determinado. Por ejemplo, el sistema puede funcionar con la regla "considera transparente el magenta brillante". Si existe un mecanismo así, preparar la imagen conforme a él es mucho más fiable que confiar en el canal alfa de BMP.

Cambia la expectativa. A veces la solución más práctica es adaptar el diseño para que funcione con un fondo fijo.

En resumen

Al pasar de PNG a BMP, los datos de color se transportan con seguridad, porque los dos formatos son sin pérdida. Lo que se pierde es la transparencia, y esa pérdida no se puede deshacer. El soporte alfa de BMP existe en la especificación, pero en la práctica no es fiable; da por hecho que tu sistema de destino lo va a ignorar. El camino más limpio es hacer tú mismo el aplanado en lugar de dejárselo a la herramienta de conversión y elegir el color de fondo de forma deliberada. Si la transparencia es realmente imprescindible, la respuesta correcta no es convertir, sino quedarse en PNG.

Preguntas frecuentes

¿BMP admite realmente el canal alfa o no?

Las dos cosas son ciertas, y ahí está exactamente el problema. La variante BGRA de 32 bits de BMP puede alojar un byte alfa por píxel, es decir, desde el punto de vista de la especificación la transparencia se puede transportar. Sin embargo, ese soporte es inconsistente entre las aplicaciones que leen el archivo; muchos programas no interpretan en absoluto el byte alfa y muestran la imagen totalmente opaca. Algunos programas de impresión, por su parte, usan ese byte con otros fines. En conclusión, que el archivo lleve información de transparencia no garantiza que el programa de destino vaya a usarla.

¿En qué color se convierten las zonas transparentes?

Eso depende de la herramienta que hace la conversión y del programa que lee el archivo; no hay una regla fija. Los resultados más frecuentes son un fondo blanco o negro, pero en algunos casos, al ignorarse el alfa, aflora el dato de color que hay debajo y puede aparecer una imagen inesperada. La única forma fiable de eliminar la incertidumbre es rellenar tú mismo el fondo con el color que quieras antes de la conversión y quitar la transparencia de forma deliberada.

Voy a usar mi logotipo transparente sobre un fondo oscuro, ¿qué debo hacer?

Antes de convertir, pinta el fondo del logotipo con el color oscuro que se vaya a usar en el destino. Si conviertes un logotipo transparente directamente a BMP, el fondo será con toda probabilidad blanco o negro y aparecerá como un rectángulo feo sobre el panel oscuro. Además, en los logotipos transparentes los píxeles del borde son semitransparentes; al aplanarse, se ven según con qué fondo se hayan mezclado. Un logotipo aplanado sobre el fondo equivocado conserva un halo fino de color claro en los bordes.

Si tengo que conservar la transparencia sí o sí, ¿cuál es mi alternativa?

La alternativa más correcta es no convertir y quedarse en PNG; PNG admite el canal alfa de forma completa y consistente. Si el sistema de destino no acepta PNG, investiga si ese sistema tiene su propio mecanismo relacionado con la transparencia. Algunas interfaces antiguas usan un archivo de máscara aparte o un método de color clave que considera transparente un color determinado. Si existe alguno de esos mecanismos, preparar la imagen conforme a él es mucho más fiable que confiar en el canal alfa de BMP.

Pruébalo ahora mismo con PNG → BMP Dönüştür.

Probar PNG → BMP Dönüştür