在PHP上载图像中心图像

时间:2012-09-07 01:08:13

标签: php image gd

我有用户上传始终方形图像(可变尺寸,但总是方形),我想在正方形的中间覆盖我自己的图像(也就是说,正方形和固定尺寸)图像,无论大小。

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

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

1 个答案:

答案 0 :(得分: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这样的不同库来实现它,但是没有必要更好的方法来实现它。