Gmagick e Imagick

Librería de imágenes

Imagick (ImageMagick) y Gmagick (GraphicsMagick) son extensiones de php para el manejo de imágenes en una gran cantidad de formatos que permiten crear, leer y convertir imágenes. La extensión nativa de PHP  Imagick se basa en la librería ImageMagick mientras que la extensión Gmagick se basa en GraphicsMagick. Estas dos librerías incorporan un conjunto de efectos fáciles implementar.

GMAGICK

Para la instalación de Gmagick son necesarios algunas extensiones que se indican a continuación.

Instalar php-pear

  1. sudo apt install php-pear

Instalar phpize

  1. sudo apt install php7.0-dev graphicsmagick libgraphicsmagick1-dev

Instalar extensión gmagick

  1. sudo pecl install gmagick-2.0.5RC1

Añadir o descomentar extensión en php.ini

  1. extension=gmagick.so

Reiniciar Apache

  1. sudo service apache2 restart

También es posible que sea necesario el paquete php-imagick desde la versión de PHP 7.0

  1. sudo apt update
  2. sudo apt install php-imagick graphicsmagick

Fuente: //askubuntu.com/questions/837142/ubuntu-16-w-php7-graphics-magick-class-gmagick-not-found

Ejemplo de uso de librería Gmagick de una imagen

  1. <?php
  2. //instancia de la clase GmagickDraw
  3. $draw = new GmagickDraw();
  4. //color de borde
  5. $draw->setStrokeColor("Black");
  6. //color de relleno
  7. $draw->setfillcolor("white");
  8. //tamaño de la fuente
  9. $draw->setfontsize(36);
  10. //texto
  11. $draw->annotate(200,200,"primer comentario");
  12. //tamaño de la fuente
  13. $draw->setfontsize(56);
  14. //texto
  15. $draw->annotate(500,500,"segundo comentario");
  16. //instancia de la clase Gmagick
  17. $ima=new Gmagick("imagen.jpg");
  18. //establecer formato de imagen
  19. $ima->setImageFormat("png");
  20. //añadir dibujo a imagen
  21. $ima->drawImage($draw);
  22. //cabeceras necesarias para mostrar la imagen en pantalla
  23. header("Content-Type : image/png");
  24. //mostrar imagen
  25. echo $ima->getImageBlob();
  26. ?>

En Laravel es necesario añadir los namespace

  1. use Gmagick;
  2. use GmagickDraw;
  3. use GmagickPixel;


IMAGICK

Para la instalación de Imagick es necesario asegurarse de disponer de algunos paquetes instalados.

Instalar paquetes necesarios

  1. sudo apt install php php-common gcc

Instalar Imagick

  1. sudo apt install imagemagick

Instalar extensión Imagick

  1. sudo apt install php-imagick
  1. pecl install imagick

Reiniciar servidor

  1. sudo systemctl restart apache2

Ejemplo de uso de la librería Imagick

  1. <?php
  2. $imagen = new Imagick("imagen.jpg");
  3. $imagen->swirlImage(90);
  4. $imagen->writeImage("nuevaImagen.jpg");
  5. header("Content-Type: image/jpeg");
  6. echo $imagen;
  7. ?>

En Laravel es necesario añadir los namespace

  1. use Imagick;
  2. use ImagickDraw;
  3. use ImagickPixel

Nota: Al añadir la extensión de Gmagick antes de la extensión de Imagick en el archivo php.ini puede producir algún error, para solucionarlo es necesario intercambiar el orden y colocar la extensión Imagick antes de Gmagick.

  1. [Imagick]
  2. extension=imagick.so
  3. [Gmagick]
  4. extension=gmagick.so


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso