Heim >Backend-Entwicklung >PHP-Tutorial >关于给图片加水印

关于给图片加水印

WBOY
WBOYOriginal
2016-06-23 14:06:281118Durchsuche

我写了一个采集程序 采集网上的图片 采集回来的是一堆乱码字符
header("Content-type:image/jpeg;charset=utf-8");之后能显示正常图片
现在我想给图片加上水印
我是把采集的图片直接保存到目录上  然后再加载按下面方式处理
$fp = @imagecreatefromjpeg(图片路径);
$wp = @imagecreatefrompng(水印路径);
$res = imagecopy($fp,$wp,0,0, 0, 0,120,180);
imagejpeg($fp);
现在我想不保存到目录 直接加上水印在页面上显示该如何处理 请大家指教一下 谢谢


回复讨论(解决方案)

不太明白,你的数据总得有个地方保存呀?
php的imagecreatefromjpeg()函数支持rfc2397标准,你可以用 

$mime = '图片mime类型,如 image/png, image/jpeg';$base64_content = base64_encode('图片内容');$uri = "data:{$mime};base64,{$base64_content}";$fp = @imagecreatefromjpeg($uri);

或者你也可以把图片存到临时文件夹,这样会更方便。

程序放在SAE和BAE上
保存图片得丢进storage 相对来说麻烦
而且我不太希望保存图片
所以来请教下能不能直接加水印输出,而不用保存

不是有 imagecreatefromstring 吗?

$fp = imagecreatefromstring(file_get_contents('http://avatar.profile.csdn.net/9/D/6/1_dream1206.jpg'));$wp = imagecreatefromstring(file_get_contents('http://avatar.profile.csdn.net/1/5/6/1_gilper.jpg'));imagecopymerge($fp,$wp,0,0, 0, 0,120,180, 50);imagepng($fp);

以前研究过用imagemagick加水印,功能比较强大。楼主可以看看

论坛里很好很不错 懂了很多

不是有 imagecreatefromstring 吗?PHP code?1234$fp = imagecreatefromstring(file_get_contents('http://avatar.profile.csdn.net/9/D/6/1_dream1206.jpg'));$wp = imagecreatefromstring(file_get_conten……

非常感谢,已经搞定,之前没发现还有这个函数。
先补问一个问题,用
header("Content-Type:image/jpeg");
imagejpeg($fp);
这样的方式已经把文件声明成图片了,不能直接和原有的HTML在一起,该如何直接echo出这张图片在HTML中某个位置?
单独再写个网页用img标签加载进来我知道 但是这时候不太适合用这个,请教一下其他方法,谢谢。

不用 img 也可以用 iframe 另外还可以用 css 作为背景

不用 img 也可以用 iframe 另外还可以用 css 作为背景
情况比较特殊 只能在本页输出 没办法就暂时这样吧 3Q

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn