一尘不染

用PHP为图像添加“水印”

php

我有一个网站,用户可以在其中上传图片…

上传图像后,我需要在图像上添加徽标(水印)。

我该怎么办?

而且重要的一点是,水印必须位于可以看到的角落,例如,我看到的网站会即时生成水印,并将水印放置在主图像的背景为“相同颜色”的任何位置,因此如果您明白我的意思,水印就会伸出来。

有人对此有很好的教程或文章吗?还是知道在php中需要找到水印位置的任何函数?


阅读 254

收藏
2020-05-26

共1个答案

一尘不染

// Load the stamp and the photo to apply the watermark to
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Copy the stamp image onto our photo using the margin offsets and the photo 
// width to calculate positioning of the stamp. 
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
2020-05-26