经过多次测试后,我决定使用imagick的scaleimage方法来减少图像,问题是因为我想得到一个正方形图像,并且要处理的一些图像是矩形的。
为了使它成为正方形我在缩放图像后面放置了一个空白方形图像作为背景,这个点每个图像花了我4秒而且它太多了。
// Create an image
$scaledimage = new Imagick();
// Set as black
$scaledimage->newImage(800,600,'black');
//Scale the image
$scaledimage->scaleImage(500,500,true); // I need the same aspect
// Create an image
$image = new Imagick();
// Set as white
$image->newImage(500,500,'white');
// compose an image onto another
$image->compositeImage($scaledimage,Imagick::COMPOSITE_DEFAULT,62,0);
// Clone
$scaledimage = clone $image;
你知道如何在不使用这种方法的情况下使缩放图像成为正方形。