【发布时间】:2018-01-23 16:01:55
【问题描述】:
我想将图像调整为正方形。假设我想要一个 500x500 的平方图像,而我有一个 300x600 的图像 我想将该图像的大小调整为 200x500,然后为其添加白色背景以使其变为 500x500
这样做我得到了一些好处:
$TargetImage = imagecreatetruecolor(300, 600);
imagecopyresampled(
$TargetImage, $SourceImage,
0, 0,
0, 0,
300, 600,
500, 500
);
$final = imagecreatetruecolor(500, 500);
$bg_color = imagecolorallocate ($final, 255, 255, 255)
imagefill($final, 0, 0, $bg_color);
imagecopyresampled(
$final, $TargetImage,
0, 0,
($x_mid - (500/ 2)), ($y_mid - (500/ 2)),
500, 500,
500, 500
);
它几乎做对了所有事情。图片居中和一切。除了背景是黑色而不是白色:/
有人知道我做错了什么吗?
【问题讨论】:
-
据我所知,PHP 无法做到这一点。
-
您可能想要使用像imagemagick 这样的扩展名。特别是如果其他额外的图像处理即将出现。
-
您能否提供原始图像宽度/高度的真实值,
$Width/$Height和$FinalWidth/$FinalHeight?