Cómo manipular imágenes usando PHP

ImageMagick es una aplicación muy potente para la manipulación de imágenes. Por lo general, se utiliza desde la línea de comandos en ambientes Linux.

ImageMagick es capaz de trabajar con una amplia variedad de formatos de imágenes y realizar una gran cantidad de transformaciones sobre ellas.

PHP cuenta con una API propia para que su utilización sea sencilla (Obviamente, requiere que primero se instalen las bibliotecas necesarias): la clase Imagick.

Una instancia de Imagick trabaja asociándole una o más imágenes al momento de su construcción (pasándole un string o un array según el caso):

$ig = new \Imagick("mi_imagen.jpg");

$ig2 = new \Imagick( ["mi_imagen.jpg", "otra_imagen.png"]);

A partir de ese momento es posible realizar modificaciones a la imagen simplemente invocando los métodos de la clase, por ejemplo:

$ig->resizeImage( $width, $height, \Imagick::FILTER_BOX, 0.9 );

Permite redimensionar la imagen al tamaño que se desee (aplicando en el proceso diferentes filtros y borroneos (blur).

Es importante tener en cuenta que todo este procesamiento sucede en memoria, de esa forma es posible emitir el resultado directamente hacia la salida:

header("Content-Type: image/jpg");
echo $ig->getImageBlob();

O almacenarlo en un archivo:

$ig->writeimage( "nueva_imagen.jpg" );

Ahora ya podés hacer que tu aplicación recorte el avatar de tus usuarios (o mejor, que les baje un poco la calidad para limitar su tamaño).

¿Qué otras cosas querrías hacer con las imágenes de tu aplicación?

mchojrin

Por mchojrin

Ayudo a desarrolladores PHP a acceder mercados y clientes más sofisticados y exigentes

1 comentario

¿Te quedó alguna duda? Publica aca tu pregunta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.