帝国CMS图片水印由GIF换成PNG格式,行不行?

讲真,帝国CMS功能虽然强大,但要更好地为自己所用,要费很大的力才行!

例如,图片加水印,后台提供此功能,不熟的同学/菜鸟,请参见此文:帝国CMS水印最简便设置

但默认的GIF格式作为水印会很模糊,给人很LOW的感觉。

帝国CMS水印图片LOW

都2022年了,透明图片GIF已过时,PNG才是王者。

那,能不能,把GIF换成PNG呢?

搜索一下,还真可以。就差实践了。

操作一下才知道,是真行,还是假行。

答案见:https://www.cnblogs.com/surplus/p/12366361.html

为了访止此文失效,我还是把答案贴在下面吧。

 

帝国cms如何设置png图片作为水印

如何让帝国CMS支持png透明度水印,这样解决。

需要修改 e/class/gd.php
找在大约230行,找到
--------------------------------------------------------------------------------
//设定图像的混色模式 
    imagealphablending($ground_im, true);

    if($isWaterImage)//图片水印 
    { 
        imagecopymerge($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h,$w_pct);//拷贝水印到目标文件         
    } 
--------------------------------------------------------------------------------
改为
--------------------------------------------------------------------------------
//设定图像的混色模式 
    imagealphablending($ground_im, true);

    if($isWaterImage)//图片水印 
    { 
        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);//拷贝水印到目标文件
        }
    }
--------------------------------------------------------------------------------
这样就OK了。

 

以下操作步骤,只是照猫画虎,实践验证行不行。

按照教程,打开e/class/gd.php,找到imagealphablending($ground_im, true)。如下图所示:

gd.php

然后修改代码:

PNG水印

注意,毕竟自己不是程序员,为了防止出错,原来的代码并不删除,只是注释掉。参见上图。

这些代码我看得懂吗?

看不懂。

但是,它就是生效了!

帝国CMS图片水印

PNG图片水印,清晰多了。神奇!

我再检查了一下,发现旧的被注释掉的代码和我所添加的新的代码,其实是一样的。搞笑!

原因是,我所用的帝国CMS版本是有经过改造的,并非帝国官网下载的原版。

其实我是瞎忙了,但是,这个过程验证了该代码是实用的,还是很有参考意义的。

 

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注