nav-left cat-right
cat-right

帝国CMS Png透明水印解决方案

不知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);//拷贝水印到目标文件
        }
 
    }

另外看了下函数,并根据需要做了别的修改,可以实现双水印,包括单个水印图片显示在俩个位置,或者俩个位置显示俩个不同的水印图片,根据自己需要可以有很多种扩展用法。

2 条评论

  1. avatar nav-left

    内部是用GD库吗?还是可以使用imagic

    nav-left
  2. avatar nav-left

    是GD库,现在一般都是用GD库,主机的基本都支持。

    nav-left

这篇文章上的评论的 RSS feed

抱歉,评论已关闭。