もし提供されているオプションが不十分な場合は、独自のカスタム修飾子を使って独自のソリューションを作成できます。さらに、ネイティブのイメージオブジェクトにアクセスできるため、GD や Imagick といった実際の画像処理ライブラリが提供するすべての関数(Intervention Image でカバーされていないものも含む)を利用できます。
#ネイティブイメージオブジェクトにアクセスする
ドライバーによって、各イメージオブジェクトは内部的に GDImage::class のインスタンスか Imagick::class のいずれかにマッピングされます。Intervention Image の親イメージオブジェクトからこの基底オブジェクトにアクセスできます。
次の例では、このライブラリに含まれていないネイティブの Imagick 関数 oilPaintImage() を使用しています。
use Intervention\Image\ImageManager;
// ファイルからテスト画像を読み込む
$manager = ImageManager::imagick();
$image = $manager->read('test.png');
// Imagick インスタンスに直接アクセスする
$imagick = $image->core()->native();
// ネイティブの Imagick 関数を使用する
$imagick->oilPaintImage(4.5);
カスタム修飾子 と組み合わせると、Intervention Image は独自の修飾子の組み合わせで拡張でき、無限の可能性が得られます。