欢迎来访实搜网站库!

蓝色 学校 微商 大气 企业

让DEDECMS后台图片水印支持中文文字的方法

时间:2015-07-21 10:28
今天遇到一个问题,是在给客户设置dedecms后台水印的时候,当我把使用文字给图片打水印的时候,发现怎么也无法打上水印,比如我设置的水印文字是DEDECMS模板堂,

    今天遇到一个问题,是在给客户设置dedecms后台水印的时候,当我把使用文字给图片打水印的时候,发现怎么也无法打上水印,比如我设置的水印文字是“DEDECMS模板堂”,这里既有英文也有中文,这个时候就无法自动打上水印,但是我去掉后台的中文文字就可以打上水印了。这个时候我意识到这个就是一个可能中文编码的问题了!

     于是我找到:/include/inc_photograph.php,在165行处加这行代码的地方,我发现这里是支持编码的,这个时候看一个字符5,我想想可能是中文编码的字节数太大了,那我就把这个代码

$w_text = iconv("GB2312","UTF-8",$w_text);

加到165行下。

现在可以用中文做水印了,但默认的字体大小是5,中文字体太小,你可以随意更改。
 

下面是我加好的 大家可以复制过去即可!

//图片自动加水印函数原始函数
//------------------------------------------------
function ImgWaterMark($srcFile,$w_pos=0,$w_img="",$w_text="",$w_font=5,$w_color="#FF0000",$w_pct)
{
 
  $font_type = dirname(__FILE__).'/data/ant1.ttf';
  if(empty($srcFile) || !file_exists($srcFile)) return ;
  $w_text = iconv("GB2312","UTF-8",$w_text);//加这行就可以支持中文水印。