DynImage
Basic Usage Example
$dynimage = new DynImage\DynImage();
$dynimage->add((new DynImage\Filter\Resize())->setHeight(200)->setWidth(200));
$dynimage->add((new DynImage\Filter\Border())->setHeight(10)->setWidth(10));
$dynimage->add((new DynImage\Filter\Blur())->setSigma(5));
$dynimage->add((new DynImage\Filter\Colorize())->setColor('ff9900'));
$dynimage->add((new DynImage\Filter\Gamma())->setCorrection(1.5));
$dynimage->add((new DynImage\Filter\Reflect())->setColor('ff9900'));
$dynimage->add((new DynImage\Filter\Crop())->setX(10)->setY(10));
$image = $dynimage->apply(file_get_contents('/path/to/image'));
$image->show('png');
$image->save('/path/to/image.png');Filter Application Order
Filters listen to events of dynimage to apply at the right time. Filters that are connected to the same event are applied in the order they were added to Dynimage.
Events are :
AFTER_CREATE_IMAGE
EARLY_APPLY_FILTER
LATE_APPLY_FILTER
FINISH_CREATE_IMAGEHowever, you can change the event of a filter like this.
use DynImage\Events;
use DynImage\Filter\Rotate;
$rotate = (new Rotate())->setAngle(45)->setEvent(Events::FINISH_CREATE_IMAGE);
$dynimage = new DynImage\DynImage();
$dynimage->add($rotate);
or
$dynimage = new DynImage\DynImage();
$dynimage->add((new Rotate())->setAngle(45), Events::FINISH_CREATE_IMAGE);
License
MIT License

