五颜六色论坛 -> 网站建设 -> 图片水印 HACK 简单版 FOR 2.x 登录 -> 注册 -> 回复主题 -> 发表主题

无言沙漠 2005-01-15 19:38

根据 inso 修改

不是整合进d的,也不能使用中文
代码:watermark.php(放到discuz根目录下)

QUOTE:

<?php
###################################################################
# Filename:   watermark.php(来自inso相册1.0.1)               #
# Function:   Display your image with watermark               #
# Author:   inso(http://www.shi8.com)                     #
# Team:     STT(http://www.bestdl.com)                   #
# Slogan:   Free PHP, Free Forever!                     #
###################################################################
$ifile=$_REQUEST['i'];//引用地址变量
if (!($ifile)) die('没有图片');
$own=$_REQUEST['o'];
if (!($own)) $own="www.shi8.com";//版权文字
$iinfo=getimagesize($ifile,$iinfo);
$sx= $iinfo[0];
$sy= $iinfo[1];
$nimage = imagecreate($sx,$sy);
//$nimage = imagecreatetruecolor($sx,$sy);//GD2的用户请此行前面的“//”到上一行前面,即变成//$nimage = imagecreate($sx,$sy+10);
$white=imagecolorallocate($nimage,255,255,255);//自定义颜色
$black=imagecolorallocate($nimage,0,0,0);//自定义颜色
$red=imagecolorallocate($nimage,255,0,0);//自定义颜色
imagefill($nimage,0,0,$white);
switch ($iinfo[2])
{
case 1:
$simage =imagecreatefromgif($ifile);
break;

case 2:
$simage =imagecreatefromjpeg($ifile);
break;

case 3:
$simage =imagecreatefrompng($ifile);
break;

case 6:
$simage =imagecreatefromwbmp($ifile);
break;
default:
die("不支持的文件类型");

}
$text1=date("Y-n-j H:i:s");//水印字幕1:时间
$text2="IP: ".$_SERVER["REMOTE_ADDR"]."".$_SERVER["HTTP_X_FORWARDED_FOR"];//水印字幕2:IP和主机
imagecopy($nimage,$simage,0,0,0,0,$sx,$sy);
imagefilledrectangle($nimage,1,$sy-35,120,$sy+10,$black);//水印边框位置颜色
imagefilledrectangle($nimage,2,$sy-34,119,$sy+8,$white);//水印边框位置颜色
imagestring($nimage,2,3,$sy-33,$text1,$black);//水印字幕1位置颜色
imagestring($nimage,2,3,$sy-23,$text2,$black);//水印字幕位2置颜色
imagestring($nimage,2,3,$sy-13,$own,$red);//水印字幕(版权)位置颜色
imagejpeg($nimage);
?>


用法:修改templates/模板名/viewthread.htm中的
QUOTE:
<img src="$attachurl/$post[attachment]"

替换为
QUOTE:
<img src="watermark.php?i=$attachurl/$post[attachment]"


当然也可以把img贴图标签的贴图也加上水印:
修改include/discuzcode(最新下载版的148.149行)
找到
QUOTE:
<img src=\"%s\"

替换为
QUOTE:
<img src=\"watermark.php?i=%s\"

找到
QUOTE:
<img width=\"\\1\" height=\"\\2\" src=\"%s\"

替换为
QUOTE:
<img width=\"\\1\" height=\"\\2\" src=\"watermark.php?i=%s\"

不过由于gif的版权问题,您的服务器可能不支持gif生成jpg,请三思。


查看完整版本: [-- 图片水印 HACK 简单版 FOR 2.x --] [-- top --]


[ 五颜六色论坛 ]

Powered by PHPWind 5.0.1 © 2005 苏ICP备05001866号 5y6s.net
Time 0.030958 second(s),query:3 Gzip enabled