海薇站长网 - 让网站建设、优化、维护从此简单!

海薇站长网

当前位置: 海薇站长网 > CMS教程 > Discuz论坛教程之让水印平铺的修改方法

Discuz论坛教程之让水印平铺的修改方法

时间:2018-01-23 21:57:12来源:CMS教程网 作者:365天天网 点击:
Discuz论坛计算水印大小和图片大小,每次偏移一个水印的位置重复打水印;由于discuz支持png和gif两种水印,因此本方法涉及两处修改:修改1属于支持png水印,修改2属于支持gif水印;

Discuz论坛教程之让水印平铺的修改方法是什么,很多人都感叹自己辛苦做的图片被别人拷贝过去,怎么能不心伤,有什么办法可以杜绝图片的流失,维护版权呢,今天我们就来看看Discuz论坛处理的图片的方法吧!

修改文件:\source\class\class_image.php

修改原理:计算水印大小和图片大小,每次偏移一个水印的位置重复打水印;

由于discuz支持png和gif两种水印,因此本方法涉及两处修改:
修改1属于支持png水印,修改2属于支持gif水印;

修改1:大概第475行原始代码

if($this->param['watermarktype'][$type] == 'png') {  

imageCopy($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h);  

}

修改为

if($this->param['watermarktype'][$type] == 'png') {  

//修改1 开始  

//imageCopy($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h);  

if(intval($this->imginfo['width']/$logo_w)>=3){  

$wblank=($logo_w+$this->imginfo['width']%$logo_w)/intval($this->imginfo['width']/$logo_w);  

$hblank=($logo_h+$this->imginfo['height']%$logo_h)/intval($this->imginfo['height']/$logo_h);  

for($x = $wblank;$x+$logo_w<=$this->imginfo['width'];$x=$x+$logo_w+$wblank){  

for($y = $hblank;$y+$logo_h<=$this->imginfo['height'];$y=$y+$logo_h+$hblank){  

imageCopy($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h);  

}  

}     

}else{  

for($x = 5;$x+$logo_w<=$this->imginfo['width'];$x=$x+$logo_w+10){  

for($y = 5;$y+$logo_h<=$this->imginfo['height'];$y=$y+$logo_h+10){  

imageCopy($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h);  

}  

}  

}     

//修改1 结束  

}

修改2:大概500行,原始代码为:

else {  

imageAlphaBlending($watermark_logo, true);                

imageCopyMerge($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h, $this->param['watermarktrans'][$type]);  

}

修改为:

else {  

imageAlphaBlending($watermark_logo, true);  

//修改2 开始  

if(intval($this->imginfo['width']/$logo_w)>=3){  

$wblank=($logo_w+$this->imginfo['width']%$logo_w)/intval($this->imginfo['width']/$logo_w);  

$hblank=($logo_h+$this->imginfo['height']%$logo_h)/intval($this->imginfo['height']/$logo_h);  

for($x = $wblank;$x+$logo_w<=$this->imginfo['width'];$x=$x+$logo_w+$wblank){  

for($y = $hblank;$y+$logo_h<=$this->imginfo['height'];$y=$y+$logo_h+$hblank){  

imageCopyMerge($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h, $this->param['watermarktrans'][$type]);  

}  

}     

}else{  

for($x = 5;$x+$logo_w<=$this->imginfo['width'];$x=$x+$logo_w+10){  

for($y = 5;$y+$logo_h<=$this->imginfo['height'];$y=$y+$logo_h+10){  

imageCopyMerge($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h, $this->param['watermarktrans'][$type]);  

}  

}  

}                     

//imageCopyMerge($dst_photo, $watermark_logo, $x, $y, 0, 0, $logo_w, $logo_h, $this->param['watermarktrans'][$type]);  

//修改2 结束  

}        

修改后的水印平铺效果

Discuz论坛教程之让水印平铺的修改方法_www.hwsem.com

(责任编辑:365天天网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
推荐内容
图文推荐
意见反馈 站长网首页 返回顶部