在我看来,此函数无法按预期工作,已针对 imagemagick 版本 6.3.7 进行测试。
如上所述,该函数返回一个具有固定高度和可变宽度的图像。以下是一个修复程序,它将返回具有定义尺寸的裁剪缩略图,而不会出现尺寸变化。
<?php
$width = 160;
$height = 90;
$i = new Imagick("您的图像文件");
$geo = $i->getImageGeometry();
if(($geo['width']/$width) < ($geo['height']/$height))
{
$i->cropImage($geo['width'], floor($height*$geo['width']/$width), 0, (($geo['height']-($height*$geo['width']/$width))/2));
}
else
{
$i->cropImage(ceil($width*$geo['height']/$height), $geo['height'], (($geo['width']-($width*$geo['height']/$height))/2), 0);
}
$i->ThumbnailImage($width,$height,true);
$i->setImageFormat("png");
header("Content-Type: image/png");
exit($i);
?>