//Example 12 - Barrel
// The arguments needed for the 'Barrel' distort method. Generally you supply
// 3 or 4 values only...
// A B C [ D [ X , Y ] ]
// The optional X,Y arguments provide an optional 'center' for the radial distortion,
// otherwise it defaults to the exact center of the image given (regardless of its virtual offset).
// The coefficients are designed so that if all four A to D values, add up to '1.0', the minimal
// width/height of the image will not change. For this reason if D (which controls the overall
// scaling of the image) is not supplied it will be set so all four values do add up to '1.0'.
$imagick = new \Imagick(realpath($this->control->getImagePath()));
$points = array(
//0.2, 0.0, 0.0, 1.0
0.4, 0.6, 0.0, 1.0
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_EDGE);
$imagick->distortImage(\Imagick::DISTORTION_BARREL, $points, true);
header("Content-Type: image/jpeg");
echo $imagick;