使用php为图像添加水印,这里的完整代码=)

时间:2011-10-08 09:34:23

标签: php firefox gd watermark alphablending

O写了这段代码,将1张图片覆盖在另一张图片上...出于某种原因,firefox报告图片中有错误,无法显示。

有任何线索吗?

// yeah.php
error_reporting(E_ALL);

// A FUNCTION TO ADD THE OVERLAY
// SEE http://php.net/manual/en/function.imagealphablending.php#77085
function imagelogo(&$dst_image, $src_image, $dst_w, $dst_h, $src_w, $src_h) {
    ImageAlphaBlending($dst_image, TRUE);
    ImageAlphaBlending($src_image, TRUE);
    ImageCopy($dst_image, $src_image, 0, ($dst_h - $src_h), 0, 0, $src_w, $src_h);
}

// LOCATION OF THE IMAGES (COULD COME IN FROM $_GET URL STRING)
$original = 'http://www.someurl.com/avatar/f22b5cb6587140ba89fa96a616ac7d5b?s=100&r=r';
$overlay  = 'http://www.someurl.com/codenameT/overlay.png';

// READ THE IMAGE AND THE OVERLAY FILE
// MAN PAGE http://php.net/manual/en/function.imagecreatefrompng.php
$im = ImageCreateFromPNG($original);
$wm = ImageCreateFromPNG($overlay);

// ADD OVERLAY USING LOCAL FUNCTION
imagelogo($im, $wm, imagesx($im), imagesy($im), imagesx($wm), imagesy($wm));

// SHOW THE IMAGE
header('Content-type: image/png');
ImagePNG($im);

1 个答案:

答案 0 :(得分:0)

来自neworld的评论有帮助,我发现我获取图像的网址是JPG,并且我的代码中的函数需要PNG才能工作。