修改 Modoer 对小于指定尺寸以下的图片不加水印

想要用好 Modoer 还真要好好学习,这两天就分别了解了 三栏 DIV 和 两栏 DIV 的制作方法,另外还了解了一下如何删除 Modoer 相册里边的描述栏。很多店铺其实只上传一个 LOGO 而已,LOGO 本来就小,并不需要加水印,而 Modoer 后台只有开启或关闭水印功能,并没有一个关于尺寸的判断。没办法,还是咱们自己整吧。

在文件中查找指定文本并替换工具,搜索 watermark,然后找到一堆文件,我们看到有这么一个文件 upload_image.php ,用编辑器打开,找到大概 140 行左右

1
2
3
4
5
6
7
8
9
10
//图片加水印
    function watermark($srcimg, $destimg, $waterimg, $level = 80) {
        if(!is_file($waterimg)) return;
        if($this->is_anim($srcimg)) return; //动画不打水印
        $simg = $this->imagecreatefromimg($srcimg);
        if(!$simg) return;
        $path_parts = pathinfo($srcimg);
        $ext_name = strtolower($path_parts['extension']);
        $sw = imagesx($simg); //目标图片宽
        $sh = imagesy($simg); //目标图片高

我们看到注释中,动画不打水印,就让值返还就可以了。好了,我们又得知了 $sw 是上传图片的宽, $sh 是上传图片的高,那么我们就在宽和高的下边这加上一行

1
if($sw <= 200 || $sh <= 200 ) return;

这句代码的意思是,如果宽小于等于200,或者高小于等于200,那么我们就让值返还,也就是不打水印。修改完毕后,上传覆盖,然后测试一下。。看看是不是可以了?