【发布时间】:2013-08-07 16:58:41
【问题描述】:
我正在尝试在将图像上传到我的网站后立即为其添加水印,但水印似乎一直以黑色物体的形式出现,没有任何细节。我相信脚本可以正常工作,因为如果不正常,我可能不会看到任何类型的水印,否则脚本会失败。
到目前为止,这是我的脚本:
$watermark = imagecreatefrompng('preview-watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($portfolio_preview_dir.'/'.$file);
$size = getimagesize($portfolio_preview_dir.'/'.$file);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image, $portfolio_preview_dir.'/'.$file);
imagedestroy($image);
imagedestroy($watermark);
这就是它正在生产的东西。水印的形状是正确的,因为水印是 325x37 像素:
我尝试过使用水印图像本身。我的第一次尝试是使用“保存为网络”并选择“PNG-24”来保存 Photoshop 水印(带有透明背景)。这不起作用,所以我将它保存为普通的 PNG(没有“保存为网络”),但它仍然失败。
我不确定是脚本还是图像!有人可以与我分享一些知识并帮助解决此问题吗?
【问题讨论】:
-
我记得读过somewhere,PNG-24 存在一些 GD 问题,而 PNG-8 在水印方面会更好。