帝国cms双水印功能的实现代码(修改gd.php)

发布时间:2020-02-06编辑:脚本学堂
本文介绍下,在帝国cms系统中实现双水印功能的一段代码,主要是修改gd.php这个文件,有需要的朋友参考下。

帝国cms中的水印,目前只能固定在一个位置,不过我们想改成设置两个水印图,加水印的代码可以根据不同的栏目ID选择对应的水印图。

以下为大家介绍详细的操作步骤,供大家参考。

首先,在/e/class/gd.php里面找到
 

复制代码 代码示例:
case 9://9为底端居右
$posX = $ground_w - $w;
$posY = $ground_h - $h;
break;

在下面添加代码:
 

复制代码 代码示例:
case 10://10为左上+右下双水印
$posX1 = 0;
$posY1 = 0;
$posX2 = $ground_w - $w;
$posY2 = $ground_h - $h;
break;

然后找到:
 

复制代码 代码示例:
if($isWaterImage)//图片水印
{
imagecopymerge($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件
}

修改为:
 

复制代码 代码示例:
if($isWaterImage)//图片水印
{
if ($waterPos==10){
imagecopymerge($ground_im, $water_im, $posX1, $posY1, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件
imagecopymerge($ground_im, $water_im, $posX2, $posY2, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件
}
else{
imagecopymerge($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件
}
}

然后,再到e/admin/SetEnews.php文件中找到:
 

复制代码 代码示例:
<input type="radio" name="markpos" value="9"<?=$r[markpos]==9?' checked':'';?>>

添加一段代码:
 

复制代码 代码示例:
<input type="checkbox" name="markpos" id="checkbox" value="10"<?=$r[markpos]==10?' checked':'';?>>&nbsp;左上+右下双水印

完成以上步骤,即可实现左上+右下双水印,可以到系统参数设置里面选择双水印或者恢复原来的水印方式。

此处的修改,也可以直接去修改e/class/config.php文件,修改如下的行:
'markpos'=>
把箭头后面的数字改成10就可以了。

有了以上的基础,按栏目不同增加不同水印功能也很方便实现,有兴趣的朋友,自行研究下吧。