中文字符不可以使用imagettftext()函数在图片中直接输出,如果要输出中文字符,需要先使用iconv()函数对中文字符进行编码,语法格式如下:
string iconv ( string $in_charset, string $out_charset, string $str )
说明:参数$in_charset是中文字符原来的字符集,$out_charset是编码后的字符集,$str是需要转换的中文字符串。函数最后返回编码后的字符串。这时使用imagettftext()函数就可以在图片中输出中文了。例如:
<?php
header("Content-type: image/gif");
$image=imagecreate(200, 200); //创建图形
$background=imagecolorallocate($image, 255, 255, 255); //背景色为白色
$red=imagecolorallocate($image, 0, 255, 0); //定义绿色
$text='南京2014青奥会'; //初始化字符串
$font='C:\WINDOWS\Fonts\simhei.ttf'; //字体文件,黑体
$codetext=iconv("UTF-8", "UTF-8", $text); //对中文进行编码
imagettftext($image, 20, 0, 10, 150, $red, $font, $codetext); //水平输出字符串$codetext
imagegif($image); //输出图形
imagedestroy($image);
?>
相关文章
- Servlet & JSP - 中文字符问题
- CMD输出字符集设置
- Burpsuite不显示中文字符
- 解决VS+QT存在中文字符情况下字符乱码或编译出错的问题
- Windows10系统下Keil删除中文字符出现乱码以及改字体
- python json.dumps()函数输出json格式,使用ensure_ascii参数对中文输入的支持
- java将url里面的中文改成ASCII字符集 和 SCII字符集 改成 中文
- php.ini配置中文详解
- php 两个数组是否相同,并且输出全面的数据,相同的加一个字段标示
- Go中如何将io.Writer转换成字符串(将两个管道连接的exec.Command输出的标准输出获取成字符串)