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
sudo apt install php-pear
Instalar phpize
sudo apt install php7.0-dev graphicsmagick libgraphicsmagick1-dev
Instalar extensión gmagick
sudo pecl install gmagick-2.0.5RC1
Añadir o descomentar extensión en php.ini
extension=gmagick.so
Reiniciar Apache
sudo service apache2 restart
También es posible que sea necesario el paquete php-imagick desde la versión de PHP 7.0
sudo apt update
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
<?php
//instancia de la clase GmagickDraw
$draw = new GmagickDraw();
- //color de borde
$draw->setStrokeColor("Black");
//color de relleno
$draw->setfillcolor("white");
//tamaño de la fuente
$draw->setfontsize(36);
//texto
$draw->annotate(200,200,"primer comentario");
//tamaño de la fuente
$draw->setfontsize(56);
//texto
$draw->annotate(500,500,"segundo comentario");
//instancia de la clase Gmagick
$ima=new Gmagick("imagen.jpg");
//establecer formato de imagen
$ima->setImageFormat("png");
//añadir dibujo a imagen
$ima->drawImage($draw);
//cabeceras necesarias para mostrar la imagen en pantalla
header("Content-Type : image/png");
//mostrar imagen
echo $ima->getImageBlob();
?>
En Laravel es necesario añadir los namespace
use Gmagick;
use GmagickDraw;
use GmagickPixel;
IMAGICK
Para la instalación de Imagick es necesario asegurarse de disponer de algunos paquetes instalados.
Instalar paquetes necesarios
sudo apt install php php-common gcc
Instalar Imagick
sudo apt install imagemagick
Instalar extensión Imagick
sudo apt install php-imagick
pecl install imagick
Reiniciar servidor
sudo systemctl restart apache2
Ejemplo de uso de la librería Imagick
<?php
$imagen = new Imagick("imagen.jpg");
$imagen->swirlImage(90);
$imagen->writeImage("nuevaImagen.jpg");
header("Content-Type: image/jpeg");
echo $imagen;
?>
En Laravel es necesario añadir los namespace
use Imagick;
use ImagickDraw;
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.
[Imagick]
extension=imagick.so
[Gmagick]
extension=gmagick.so
Para poder comentar es necesario iniciar sesión