我正在尝试使用
以下是我使用的代码。
cropThumbnailImage
调整图像大小。我使用 cropThumbnailImage
,因为它可以将图像的尺寸调整为原始图像的较短长度,并在两侧等量地裁剪图像的较长一侧,以使图像的中心部分保持未被裁剪。这对于 jpg 图像很好用,但对于 png 图像来说,调整大小后的 png 图像会出现黑色背景。以下是我使用的代码。
$image = new \Imagick($src);
// resize & crop
$image->cropThumbnailImage($width, $height);
// save new resized file
$image->writeImage($dest);
运行以下代码以处理以下png图像。
http://tuxpaint.org/stamps/stamps/animals/birds/cartoon/tux.png http://www.cs.csubak.edu/~mcabrera/CS211/transparent.png http://www.tcarms.com/media/assets/productPhotos/006_G2%20Contender/png/Pistol_12in_Ribbed_Blued_2720.png
输出的图像按要求进行了调整,但png图像的背景变成了黑色。
尝试从这里添加以下行,但不起作用。
imagealphablending( $image, false );
imagesavealpha( $image, true );
在网络上有其他解决方案可以实现PNG图像的调整大小,但我没有找到像cropThumbnailImage
那样调整图像大小的解决方案。