Microordenadores - Desarrollos modernos para sistemas retro

Optimización de imágenes para desarrollo web con la Raspberry Pi
4 de Agosto de 2017

La principal razón de ser de la Raspberry Pi es servir como plataforma de desarrollo a un precio asequible. Aquí mencionaré algunas herramientas libres muy útiles para desarrollo redes, concretamente para la optimización de imágenes en formato PNG y JPEG, los más usados en la web.

Es importante que las imágenes de un sitio estén optimizadas para ahorrar recursos, tanto de lado del servidor como del cliente, de forma que la web cargue más rápido y sea más accesible, especialmente desde líneas de Internet lentas o sobrecargadas.

Gracias al enorme repositorio de paquetes de Raspbian tienes a tu disposición unas cuantas herramientas para optimizar imágenes que te ahorrarán un montón de tiempo, ya que todas ellas (con la excepción de Gimp) funcionan desde la línea de comandos, con lo que no tendrás que usar herramientas online y podrás hacerlo todo mucho más rápido.

Consideraciones sobre el uso de gráficos para la web

El formato PNG es adecuado para imágenes con colores planos, tales como iconos y capturas de pantalla de software. No se debe usar para fotos ya que el archivo final ocupará muchísimo espacio, para eso está el formato JPEG. Puede parecer una obviedad, aunque he tratado con bastantes diseñadores gráficos que no conocen esto y usan JPG para logotipos.

Otro aspecto a tener en cuenta, aparte del formato, es la compresión, proceso por el cual se reduce el tamaño del archivo, bien sea sin pérdida alguna de calidad (lossless), normalmente eliminando metadatos, o con pérdidas, donde la calidad de la imagen se degrada al perder definición.

Las ventajas de la línea de comandos

Al no tener que perder tiempo con el ratón se ahorra muchísimo tiempo. Por ejemplo, con este sencillo comando que funciona tanto en las shells bash como ksh se optimizarían los archivos PNG que se encuentran en un directorio y en todos sus subdirectorios:

for i in `find . -name "*.png"`; do optipng $i ; done

Optimización de imágenes JPEG

Para optimizar archivos JPG con la Raspberry Pi estas herramientas son bastante útiles. Su uso es complementario y usando varias de ellas puedes conseguir un mejor resultado:

  • jpegtran.
  • jpegoptim.
  • exiftool.
  • The GIMP para manipulación de imágenes y compresión con pérdidas.

Otro programa inmensamente útil es ImageMagick que es una suite de manipulación de imágenes desde la línea de comandos, disponible en Raspbian con el nombre de paquete imagemagick.

jpegtran

Con jpegtran puedes comprimir imágenes desde la línea de comandos tanto con pérdida de calidad como sin pérdida. En Raspbian se instala de la siguiente forma:

sudo apt-get install libjpeg-progs

Una vez instalado, ejecutando jpegtran --help mostrará la lista de opciones, donde tienes un montón de modos de funcionamiento tales como codificar en modo progresivo, eliminar metadatos mediante la opción -copy none o usar la tabla Huffman para una compresión más eficaz.

jpegoptim

jpegoptim es un compresor lossless de imágenes .jpg aunque también soporta compresión con pérdidas, indicando la calidad de imagen con el parámetro --max=. Cabe destacar la nueva opción --all-progressive que incluye a partir de la versión 1.3.0. Su instalación en Raspbian es igual de sencilla:

sudo apt-get install jpegoptim

Ten en cuenta que jpegoptim, por defecto y salvo si usas la opción -d, modifica los archivos especificados.

exiftool

Con esta herramienta puedes eliminar fácilmente los metadatos de tus fotos con el comando exiftool -all= *.JPG. También está disponible para OpenBSD con el nombre de paquete p5-Image-ExifTool. Su instalación en Raspbian se hace así:

sudo apt-get install libimage-exiftool-perl

The GIMP

Optimización regulable de imágenes JPG en el Gimp

GIMP es uno de los programas libres favoritos para manipulación de imágenes, y su función de compresión en JPEG es bastante buena, ya que permite ajustar el nivel de compresión a la vez que se ve como quedaría la imagen, permitiendo ir a tiro fijo y ahorrar tiempo.

En este aspecto el Gimp no tiene nada que envidiar a Photoshop. Es un programa bastante bueno para tratar imágenes y está disponible tanto en Linux como en OpenBSD y prácticamente toda la familia UNIX debido a su portabilidad.

Optimización de imágenes PNG

Para optimizar archivos PNG conozco dos programas, aunque sólo uso el primero de ellos ya que es el que está disponible para OpenBSD:

  • optipng para compresión lossless.
  • pngquant para compresión con pérdidas.

Ambos de ellos están disponibles con ese mismo nombre en los repositorios de Raspbian. No entraré en detalle ya que sólo he usado optipng sin ningún parámetro, simplemente ejecutando optipng *.png.

Tengo que decir que este programa es muy bueno y usarlo es prácticamente un deber si vas a publicar imágenes PNG en la web. Si quieres profundizar en la sección de enlaces pongo la referencia donde se explica con mucho mayor detalle el uso y funcionamiento de estos dos programas así como información sobre como funciona la compresión en el formato PNG.

Enlaces


Contenido relacionado: