Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
44 lines (30 sloc) 1.28 KB

Implement your own image transformations

Imbo also supports custom image transformations. All you need to do is to create an event listener, and configure your transformation:

<?php
class My\Custom\Transformation implements Imbo\EventListener\ListenerInterface {
    public static function getSubscribedEvents() {
        return ['image.transformation.cooltransformation' => 'transform'];
    }

    public function transform($event) {
        $image = $event->getArgument('image');
        $params = $event->getArgument('params'); // If the transformation allows params in the URL

        // ...
    }
}

return [
    // ..

    'eventListeners' => [
        'coolTransformation' => 'My\Custom\Transformation',
    ],

    // ...
];

Whenever someone requests an image using ?t[]=coolTransformation:width=100,height=200 Imbo will trigger the image.transformation.cooltransformation event, and assign the following value to the params argument of the event:

[
    'width' => '100',
    'height' => '200',
]

Take a look at the existing transformations included with Imbo for more information.