解决GD中文乱码问题

yipeiwu_com5年前PHP代码库
今天仔细研究了下GD的一些相关技术,顺手也研究下GD中文乱码的问题。

  使用GD库输出中文字符串,调用imagestring是没有用的。需要使用imagettftext()函数。imagettftext函数的具体使用就参考手册啦。

  下面给个使用实例:

   

$pic=imagecreate(250,30); 
$black=imagecolorallocate($pic,0,0,0); 
$white=imagecolorallocate($pic,255,255,255); 
$font="C://WINDOWS//Fonts//simhei.ttf";  //这里的路进需要注意下,必须是字符的路径
$str ='php'.iconv('gb2312','utf-8','面对对象')." www.phpobject.net"; 
imagettftext($pic,10,0,10,20,$white,$font,$str);
      


    前面我给出一个简单的GD水印实例,只举例说明了使用图片如何水印的,这里给出一个文字水印的简单代码。

 

<?php 
$pic
=imagecreate(250,30); 
$black=imagecolorallocate($pic,0,0,0); 
$white=imagecolorallocate($pic,255,255,255); 
$font="C://WINDOWS//Fonts//simhei.ttf";  
$str ='php'.iconv('gb2312','utf-8','面对对象')." www.phpobject.net"
imagettftext($pic,10,0,10,20,$white,$font,$str);

header("Content-type: image/jpeg");
$filename='../src/images/photo.jpg';
$im=imagecreatefromjpeg($filename);
imagecopymerge($im,$pic,0,0,0,0,250,30,50);
imagejpeg($im);
?>  
     

 

相关文章

PHP获取文件行数的方法

本文实例讲述了PHP获取文件行数的方法。分享给大家供大家参考。具体分析如下: 提供两种实现方法,虽然第二种简单易懂,但是第一种效率最好 第一种: <?php $fil...

php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值

定义和用法 end() 函数将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)。 语法 end(array)参数 描述 array 必需。规定要使用的数组。 例子 复制代码 代...

php获取当前月与上个月月初及月末时间戳的方法

本文实例讲述了php获取当前月与上个月月初及月末时间戳的方法。分享给大家供大家参考,具体如下: 当前月 <?php $thismonth = date('m'); $t...

php常用字符函数实例小结

本文实例总结了php常用字符函数。分享给大家供大家参考,具体如下: 1. string substr(string  $string, int $start &nbs...

web目录下不应该存在多余的程序(安全考虑)

虽然都会在这些程序前增加一些判断和限制。但除了库文件,还有临时文件,模板文件等这些文件本来就不应该被人直接通过 web 访问到的。无论从安全性还是代码管理方面,把不能访问的文件存放到we...