首页 > 语言 > PHP > 正文

php 图片水印中文乱码解决方法

2024-09-04 11:44:21
字体:
来源:转载
供稿:网友

php 图片水印中文乱码解决方法是要转入一款中文字体就以了,如果你在生成水印有中文时,又没载入相关的字体的话,那中文肯定会是乱码的,如果是英语字母那载不载入都没关系,代码如下:

  1. $name =  iconv("gb2312","utf-8",www.Vevb.com php粉丝网); 
  2. $font = 'simhei.ttf';//水印字体    
  3. $im = imagecreatefromjpeg("test.jpg");//载入图片    
  4. $black = imagecolorallocate($im, 0, 0, 0);//设置颜色    
  5. imagettftext($im, 12, 0, 320, 84, $black$font$name);//打印水印    
  6. imagepng($im);//输出图片,如果要保存加个保存路径和文件名,如imagepng($im,'test1.jpg');   //开源代码Vevb.com 
  7. imagedestroy($im);//清空缓存  

下面来看一款生成水印文字函数,代码如下:

  1. function str2pic ($string,$source,$destination="",$f,$fontsize=10,$shadowcolor="#ffffff",$f,$x=10,$y=10) {    
  2.  //header('content-type:image/png'); 
  3.     $pi=pathinfo($source); 
  4.     $pie=$pi[extension];#获取扩展名 
  5.     if(eregi("jpg|jpeg",$pie))$im=@imagecreatefromjpeg($source); 
  6.     if(eregi("gif",$pie))$im=@imagecreatefromgif($source); 
  7.     if(eregi("png",$pie))$im=@imagecreatefrompng($source); 
  8.     $col1=hex2dec($shadowcolor);#阴影颜色 
  9.     $col2=hex2dec($fontcolor);#字体颜色 
  10.     $col1=imagecolorallocate($im,$col1[0],$col1[1],$col1[2]); 
  11.     $col2=imagecolorallocate($im,$col2[0],$col2[1],$col2[2]); 
  12.     imagettftext($im,$fontsize,0,$y+1,$x+1,$col1,$fonturl,$string); 
  13.     imagettftext($im,$fontsize,0,$y,$x,$col2,$fonturl,$string); 
  14.     imagejpeg($im); 
  15.     if($destination)imagejpeg($im,$destination); 
  16.     imagedestroy($im); 
  17.  
  18. function hex2dec($hexcolror) {#十六进制颜色转换成10进制颜色 
  19.     preg_match_all("/([0-f]){2,2}/i",$hexcolror,$matches); 
  20.     if(count($matches[0])==3){ 
  21.     $rr=hexdec($matches[0][0]); 
  22.     $gg=hexdec($matches[0][1]); 
  23.     $bb=hexdec($matches[0][2]); 
  24.     } 
  25.     return array($rr,$gg,$bb); 
  26. ?> 
  27. <?php 
  28. str2pic("[url=http://www.Vevb.com]www.Vevb.com","winter.jpg","winter2.jpg","simhei.ttf",10,"ffffff","330099",10,10[/url]); 
  29. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表