去评论
dz插件网

小黑条文字水印,不破坏原图,后台控制文字及背景颜色,更新带日期版本

惧愁人
2023/03/17 08:39:54
后台设置文本水印文字时,虽然可以任意输入,但不要输英文或数字字符,输一个中文,就可以了。



后台设置:
启用水印功能。
水印位置任选。
添加水印条件自定。
水印图片类型选择文字水印。
融合度质量100(其实多少都没影响)。
文本水印文字,请输入任意内容(一定要输,不然出错)
选择自己上传的字体。
文字大小8-10自己看着办。
文本水印显示角度:0
水印字体颜色【自己测试效果】
水印阴影颜色【自己测试效果】
其它无视了,提交测试吧。



修改方法:
打开\source\class目录下class_image.php文件
查找
  1. } elseif($this->param['watermarktype'][$type] == 'text') {                                if(($this->param['watermarktext']['shadowx'][$type] || $this->param['watermarktext']['shadowy'][$type]) && $this->param['watermarktext']['shadowcolor'][$type]) {                                        $shadowcolorrgb = explode(',', $this->param['watermarktext']['shadowcolor'][$type]);                                        $shadowcolor = imagecolorallocate($dst_photo, $shadowcolorrgb[0], $shadowcolorrgb[1], $shadowcolorrgb[2]);                                        imagettftext($dst_photo, $this->param['watermarktext']['size'][$type], $this->param['watermarktext']['angle'][$type], $x + $ax + $this->param['watermarktext']['shadowx'][$type], $y + $ay + $this->param['watermarktext']['shadowy'][$type], $shadowcolor, $this->param['watermarktext']['fontpath'][$type], $watermarktextcvt);                                }                                $colorrgb = explode(',', $this->param['watermarktext']['color'][$type]);                                $color = imagecolorallocate($dst_photo, $colorrgb[0], $colorrgb[1], $colorrgb[2]);                                imagettftext($dst_photo, $this->param['watermarktext']['size'][$type], $this->param['watermarktext']['angle'][$type], $x + $ax, $y + $ay, $color, $this->param['watermarktext']['fontpath'][$type], $watermarktextcvt);                        } else {

替换为:

  1. } elseif($this->param['watermarktype'][$type] == 'text' && $this->imginfo['width'] >= 250) {        $objTmpImg = @imagecreatetruecolor($this->imginfo['width'], $this->imginfo['height']+16);        @imagecopy($objTmpImg, $dst_photo, 0, 0, 0, 0, $this->imginfo['width'], $this->imginfo['height']);        $dst_photo = $objTmpImg;        $bg_x1 = 0;        $bg_y1 = $this->imginfo['height'];        $bg_x2 = $this->imginfo['width'];        $bg_y2 = $this->imginfo['height']+16;                $shadowcolorrgb = explode(',', $this->param['watermarktext']['shadowcolor'][$type]);        $shadowcolor = imagecolorallocate($dst_photo, $shadowcolorrgb[0], $shadowcolorrgb[1], $shadowcolorrgb[2]);        imagefilledrectangle($dst_photo, $bg_x1, $bg_y1, $bg_x2, $bg_y2, $shadowcolor);                                  $colorrgb = explode(',', $this->param['watermarktext']['color'][$type]);        $n = $_G['member']['username'];                $w = $_G['setting']['bbname'];                $u = $_G['setting']['siteurl'];                preg_match("/^(http:\/\/)?([^\/]+)/i",$u, $ur);                $url = $ur[2];                preg_match("/[^\.\/]+\.[^\.\/]+$/", $url, $ur);                $wtext = "该图片由网友上传,版权归原创者所有 ".date('Y-m-d h:i')."";        $watermarktextcvt = $wtext;        $color = imagecolorallocate($dst_photo, $colorrgb[0], $colorrgb[1], $colorrgb[2]);        imagettftext($dst_photo, $this->param['watermarktext']['size'][$type], $this->param['watermarktext']['angle'][$type], $ax + 3, $this->imginfo['height'] + $ay + 1, $color, $this->param['watermarktext']['fontpath'][$type], $watermarktextcvt);                        } else {



我知道答案 回答被采纳将会获得1 贡献 已有0人回答