这是我打算做的GD版本。它将图像放在白色背景的中心。
$background = imagecreatetruecolor(709,709);
$whiteBackground = imagecolorallocate($background, 255, 255, 255);
imagefill($background,0,0,$whiteBackground);
imagecopyresampled(
$background, $new_img,(709-$imageWidth)/2,(709-$imageHeight)/2,
0, 0, $imageWidth, $imageHeight, $width, $height
);
ImageJpeg ($background,"$path/$newName.$file_ext", 85);`
但是我想用Imagick进行它。
答案 0 :(得分:0)
欢迎来到SO,
你正在寻找的是扁平的;
$im = new Imagick($old_img);
$im->setImageBackgroundColor('white');
$im->setImageAlphaChannel(11);
$im->mergeImageLayers(imagick::LAYERMETHOD_FLATTEN);
$im->setFormat("png");
$new = fopen($path . DIRECTORY_SEPARATOR . $newName . DIRECTORY_SEPARATOR . $file_ext, "w");
$im->writeImageFile($new);
$im->clear();
$im->destroy();
并不是说这正是您所寻找的,但它应该会帮助您顺利完成。
$im->setImageAlphaChannel(11);
如果您的Imagic版本是$im->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);
,则可以替换为CATALOG TCPIP NODE
3.2.0b2或更高