我有用户上传始终为方形的图像(可变尺寸,但始终为方形),并且我想在方形图像的中间覆盖我自己的图像(也可以是固定尺寸的方形),不管的大小。
我知道我可以使用 GD 并使用尺寸,但是有没有办法用更少的代码行自动居中它?
我不需要任何花哨的东西,只需将图像放入另一个图像的中心即可。
我很困惑您是在问如何在 GD 中执行此操作,还是要替代 GD。如果您想使用 GD 库,您可以使用该imagecopy()
函数并尝试如下操作:
<?php
$uploaded = imagecreatefrompng("../image.png"); //user uploaded
$watermark = imagecreatefrompng("../logo.png"); //watermark or logo
$x = imagesx($uploaded) / 2 - imagesx($watermark) / 2;
$y = imagesy($uploaded) / 2 - imagesy($watermark) / 2;
imagecopy($uploaded, $watermark, $x, $y, 0, 0, imagesx($watermark), imagesy($watermark));
header("Content-type: image/png");
imagepng($uploaded);
imagedestroy($uploaded);
imagedestroy($watermark);
否则,您能否更具体地说明您想要什么?我的意思是,您可以使用 ImageMagick 等不同的库来实现,但不一定有更好的方法来实现。