我想创建一个图库,这次我想使用PHP Image Magick。当上传文件时,我希望将其调整为1024x724。如果图像是竖直的(宽度<高度),我希望它适合于图像中心,并且在应该为空白的两侧具有透明背景(或白色,如果不可能),以便图像始终为1024x724并保持纵横比。如果图像是水平的(宽度>高度),同样适用。以下是我的代码:
$img = new Imagick($targetFile);
$img->scaleImage(1024,724);
$img->setGravity(imagick::GRAVITY_CENTER);
$img->setImageBackgroundColor('white');
$img->extentImage(1024,724,0,0);
$img->writeImage($targetFile);
$img = new Imagick($targetFile);
$img->scaleImage(150,150);
$img->setGravity(imagick::GRAVITY_CENTER);
$img->setImageBackgroundColor('white');
$img->extentImage(150,150,0,0);
$img->writeImage($targetThumb);