Skip to main content

Supported Formats

ImageZen supports two backends: GD and Imagick. Those are listed in the SergiX44\ImageZen\Backend enum.

  • Backend::GD
  • Backend::IMAGICK

The default backend is Backend::GD, but you can change it by setting the second parameter of the Image::make() method or the Image::canvas() method.

use SergiX44\ImageZen\Image;
use SergiX44\ImageZen\Backend;

// by default is GD
$image = Image::make('path/to/image.jpg');
$image = Image::canvas(300, 200);

// -> same as
$image = Image::make('path/to/image.jpg', Backend::GD);
$image = Image::canvas(300, 200, Backend::GD);

// for imagick
$image = Image::make('path/to/image.jpg', Backend::IMAGICK);
$image = Image::canvas(300, 200, Backend::IMAGICK);

Switching Backends on-the-fly

You can convert an image from one backend to another by using the switchTo() method.

use SergiX44\ImageZen\Image;
use SergiX44\ImageZen\Backend;

$image = Image::make('path/to/image.jpg', Backend::GD);

// switch to imagick
$image->switchTo(Backend::IMAGICK);

// switch back to GD
$image->switchTo(Backend::GD);

Supported Formats

All the available formats are listed in the SergiX44\ImageZen\Format enum, here is a list of them, and the supported backends:

FormatGDImagick
Format::PNG
Format::JPEG
Format::WEBP
Format::GIF
Format::BMP
Format::TIFF
Format::HEIC
Format::AVIF

Imagick supports more formats than GD, but it's not available by default in most PHP installations. It's also marginally faster than GD, but it's not noticeable in most cases.