If the supplied options are not sufficient, it is possible to create your own solutions using your own custom modifiers. Furthermore, the native image object can be accessed and therefore all functions used by the actual image processing library (like GD or Imagick) can be used - even those not covered by Intervention Image.

Access the Native Image Object

Depending on the driver, each image object is mapped internally either by an instance of a GDImage or an Imagick object. The parent image object of Intervention Image provides access to this base object.

The following example uses the native Imagick function oilPaintImage(), which is not included in this library.

use Intervention\Image\ImageManager;

// read test image from a file
$manager = ImageManager::imagick();
$image = $manager->read('test.png');

// access Imagick instance directly
$imagick = $image->core()->native();

// use external Imagick function
$imagick->oilPaintImage(4.5);

In combination with custom modifiers, Intervention Image can therefore be expanded with your own modifier combinations and offers endless possibilities.

Edit