Skip to content

Intervention/image-driver-vips

Repository files navigation

libvips driver for Intervention Image 3

Latest Version Build Status Monthly Downloads

WARNING: UNSTABLE

The code is in beta stage and is currently finalised. Therefore, it is not recommended to use the driver in production environments.

Intervention Image's official driver to use Intervention Image with libvips. libvips is a fast, low-memory image processing library that outperforms the standard PHP image extensions GD and Imagick. This package makes it easy to utilize the power of libvips in your project while taking advantage of Intervention Image's user-friendly and easy-to-use API.

Requirements

  • PHP >= 8.1

Installation

You can easily install this library using Composer. Simply request the package with the following command:

composer require intervention/image-driver-vips

Getting Started

The public API of Intervention Image can be used unchanged. The only configuration that needs to be done is to ensure that Intervention\Image\Drivers\Vips\Driver by this library is used by Intervention\Image\ImageManager.

Code Examples

use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Vips\Driver as VipsDriver;

// create image manager with vips driver
$manager = ImageManager::withDriver(VipsDriver::class);

// open an image file
$image = $manager->read('images/example.gif');

// resize image instance
$image->resize(height: 300);

// insert a watermark
$image->place('images/watermark.png');

// encode edited image
$encoded = $image->toJpg();

// save encoded image
$encoded->save('images/example.jpg');

Caveats

  • Due to the technical characteristics of libvips, it is currently not possible to implement color quantization via ImageInterface::reduceColors() as intended. However, there is a pull request in libvips that enables this feature and it may be integrated here the future as well.

  • With PHP on macOS, font files are not recognized in the ImageInterface::text() call because Quartz as a rendering engine does not allow font files to be loaded at runtime via the fontconfig API.

Authors

This library was developed by Oliver Vogel and Thomas Picquet.

License

Intervention Image Driver Vips is licensed under the MIT License.