0
有沒有辦法在PHP imagick擴展中裁剪選擇位置的圖像?使用imagick php擴展圖像裁剪選定的位置
我使用php 5.3.3的imagick php擴展。
如果有任何人知道如何裁剪像下面位置請與我
分享這個我有一個的平方500像素的圖像,我想頂端200像素(左側)作物底部400像素rightside。
請檢查下面的示例。
例..
輸出..
有沒有辦法在PHP imagick擴展中裁剪選擇位置的圖像?使用imagick php擴展圖像裁剪選定的位置
我使用php 5.3.3的imagick php擴展。
如果有任何人知道如何裁剪像下面位置請與我
分享這個我有一個的平方500像素的圖像,我想頂端200像素(左側)作物底部400像素rightside。
請檢查下面的示例。
例..
輸出..
我希望這個代碼將有所幫助。
$mask = new Imagick();
$mask->newimage(500, 500, new ImagickPixel('transparent'));
$mask->setimageformat('png');
$polygon = new ImagickDraw();
$polygon->setFillColor(new ImagickPixel('black'));
/*
You didn't specified from where to start the crop and where to end it,
so just assumed those values
*/
$polygon->polygon(array(
array('x' => 200, 'y' => 0),
array('x' => 400, 'y' => 0),
array('x' => 450, 'y' => 500),
array('x' => 250, 'y' => 500),
array('x' => 200, 'y' => 0),
));
$mask->drawimage($polygon);
$image = new Imagick();
$image->readimage("Your source image path :) ");
$image->setImageFormat('png');
$image->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$image->setImageMatte(true);
$image->compositeimage($mask, Imagick::COMPOSITE_DSTIN, 0, 0, Imagick::CHANNEL_ALPHA);
$image->trimimage(0);
header('Content-Type: image/png');
echo $image;
die();
任何想法如何保持圖像的透明度? –
有一個幫助.. –