截至 2022年1月18日 ,Discuz X3.4/3.5 默认情况下只有一个水印,在高分辨率下添加水印就会显得非常小,例如:
我们需要准备三个新的水印图片,分辨率是默认水印放大2倍、3倍、4倍,经过测试可以在4K (3840*)以下的图片,获得比较好的效果。可以看这个帖子里面的图片
论坛模版高清化(4K)
🤝⛄🍟🅰🐂
默认水印在这个位置:
- static/image/common/watermark.png
复制代码
👴👗📠🤬👂
新添加的分别为:
watermark-2k.png watermark-3k.png watermark-4k.png
👴👓📥🙂🤟
然后打开文件:
- source/class/class_image.php
复制代码
🖕🔪🆒🐟找到这行代码:
- $this->param['watermarkfile'][$type] = './static/image/common/'.($this->param['watermarktype'][$type] == 'png' ? 'watermark.png' : 'watermark.gif');
复制代码
修改成:
👀🛑🍪♀🦕
全屏查看- // 新增2k 4k 图片的不同大小水印
- if($this->imginfo['width'] >= 4500){
- $this->param['watermarkfile'][$type] = './static/image/common/'.($this->param['watermarktype'][$type] == 'png' ? 'watermark-4.png' : 'watermark.gif');
- }
👃🌞🥚™🐥 - elseif($this->imginfo['width'] >= 3000){
- $this->param['watermarkfile'][$type] = './static/image/common/'.($this->param['watermarktype'][$type] == 'png' ? 'watermark-3k.png' : 'watermark.gif');
- }
- elseif($this->imginfo['width'] >= 1000){
- $this->param['watermarkfile'][$type] = './static/image/common/'.($this->param['watermarktype'][$type] == 'png' ? 'watermark-2k.png' : 'watermark.gif');
🧠🍇🆘🐞 - }
- else{
- $this->param['watermarkfile'][$type] = './static/image/common/'.($this->param['watermarktype'][$type] == 'png' ? 'watermark.png' : 'watermark.gif');
- }
复制代码
👄🦼🍞❌🦄
上面代码大概的意思就是,图片宽度大于4500的用放大4倍的水印,宽度大于3000的用放大3倍的水印,宽度大于1000的用放大2倍的水印,小于1000的就用原来的水印。
后话。
🥷🦺💳🤪💅
如果你觉得太麻烦,可以等等后面的Discuz程序更新,可能会在后台有设置。我等会去提交代码,如果官方仓库合并了就可以在后台设置。