不知WC大大怎么想的,帝国CMS无论是老版还是新版就是不在水印函数里加入png透明水印的支持,还以为多复杂呢,研究一下发现原来是如此的简单,解决方案如下:
找到e/class/db.php中的:
if($isWaterImage)//图片水印 { imagecopymerge($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件 } |
将下面的代码改为下面的,原因是PNG类型水印本身具有真彩透明效果,所以水印融合度设置在这里是无效的:
if($isWaterImage)//图片水印 { imagecopymerge($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件 if($water_info[2]==3) { imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//拷贝水印到目标文件 }else{ imagecopymerge($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件 } } |
另外看了下函数,并根据需要做了别的修改,可以实现双水印,包括单个水印图片显示在俩个位置,或者俩个位置显示俩个不同的水印图片,根据自己需要可以有很多种扩展用法。

十一月 25th, 2009 at 23:13
内部是用GD库吗?还是可以使用imagic
十一月 27th, 2009 at 09:36
是GD库,现在一般都是用GD库,主机的基本都支持。