0

我有用户上传始终为方形的图像(可变尺寸,但始终为方形),并且我想在方形图像的中间覆盖我自己的图像(也可以是固定尺寸的方形),不管的大小。

我知道我可以使用 GD 并使用尺寸,但是有没有办法用更少的代码行自动居中它?

我不需要任何花哨的东西,只需将图像放入另一个图像的中心即可。

4

1 回答 1

3

我很困惑您是在问如何在 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 等不同的库来实现,但不一定有更好的方法来实现。

于 2012-09-07T01:18:06.073 回答