Escribir código siempre tiene sus pros y contras. Entre las cosas que se aprenden es a mirar a otros lados a ver si ya existe alguien que haya solucionado un problema similar al que tengas.

Revisando código “viejo”, es que me encontré con una pequeña función que ciertamente me ayudó a sacarme de apuros en algún momento. La imagecreatefrombmp.

Para quienes hayan manejado imágenes en PHP 5, ya sabrán lo horrible que es lidiar con archivos BMP.

La necesidad de usarla nace debido a los propios usuarios del sistema. No les interesaba guardar las imágenes en un formato diferente al BMP o simplemente no sabían como hacerlo.

¿Qué es más fácil entonces? ¿Amansar al burro o adaptarte al burro?

El código de la función imagecreatefrombmp

Ciertamente tome el camino de adaptarme, probé muchas cosas hasta que encontré esta solución bastante creativa:

En pocas palabras: Esa función abre la imagen, la “descomprime” y luego lee los datos para crear un lienzo en PHP que se pueda usar.

¿Pero por qué se necesita tanto? Sencillo, PHP no soporta las imágenes BMP. Al menos no hasta que PHP 7.2 esté disponible.

Cerrando sobre función imagecreatefrombmp

Si bien esta solución no es perfecta, ya que cada imagen toma mucho tiempo en ser procesada, si ayuda mucho en lograr el objetivo.

Ya hay versiones más “modernas” con mejor código, pero la que compartí es la que implementé en su momento.

Y es algo que se ha de tener bajo la manga ya que no siempre todos distinguen entre las diferencias de los archivos BMP, JPEG, GIF, TIFF o PNG. Cada formato, un reino diferente.