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.
- PHP >= 8.1
You can easily install this library using Composer. Simply request the package with the following command:
composer require intervention/image-driver-vips
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
.
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');
-
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.
This library was developed by Oliver Vogel and Thomas Picquet.
Intervention Image Driver Vips is licensed under the MIT License.