本文实例讲述了PHP使用GD库输出汉字的方法。分享给大家供大家参考,具体如下:
一、原理
PHP中的GD库支持中文,但是必须要以UTF-8格式的参数来进行传递。下面先说一下汉字的UTF-8编码的求得。
1. 用WORD2000或WINDOW 2000下的记事本编辑所要显示的汉字。
2. 把所编辑的文字存成格式为UTF-8格式的文件。
3. 用一个16进制的编辑器(如用PCTOOLS的EDIT功能)打开这个文件,这时会看到打开的文件里面有一些16进制的字符。一个汉字占三个字节,所以应该选择编辑汉字个数乘以3个字节的内容,把此编码记录下来以备后用。如“服务器之家”的代码是: E8 84 9A E6 9C AC E4 B9 8B E5 AE B6
二、实现
本例中实现:服务器之家 [url]www.zzvips.com[/url] 的图像输出。文件名为:ttf.php。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<?php
//定义输出为图像类型
header( "content-type:image/gif" );
//新建图象
$pic =imagecreate(500,40);
//定义黑白颜色
$black =imagecolorallocate( $pic ,0,0,0);
$white =imagecolorallocate( $pic ,255,255,255);
//定义字体
$font = "c://WINDOWS//fonts//simhei.ttf" ;
//定义输出字体串
$str = chr (0xE8). chr (0x84). chr (0x9A). chr (0xE6). chr (0x9C). chr (0xAC). chr (0xE4). chr (0xB9). chr (0x8B). chr (0xE5). chr (0xAE). chr (0xB6). " [url]www.zzvips.com[/url]" ;
//写 TTF 文字到图中
imagettftext( $pic ,20,0,10,30, $white , $font , $str );
//建立 GIF 图型
imagegif( $pic );
//结束图形,释放内存空间
imagedestroy( $pic );
?>
|
说明:
1. 汉字的引用方式为chr(编码)。如chr(0xE8).chr(0x84).chr(0x9A)显示汉字。
2. ImageTTFText(int im, int size, int angle, int x, int y, int col, string fontfile, string text):本函数将 TTF (TrueType Fonts) 字型文字写入图片。参数 size 为字形的尺寸;angle 为字型的角度,顺时针计算,0 度为水平,也就是三点钟的方向 (由左到右),90 度则为由下到上的文字;x,y 二参数为文字的坐标值 (原点为左上角);参数 col 为字的颜色;fontfile 为字型文件名称;text 是字符串内容。
3. 必须安装GD库才能利用php中的图像处理函数。
图像引用方式:在需要的地方直接插入:
1
|
< img src = "ttf.php" border = 0 >
|
即可。
三、结束语
PHP的GD库提供了相当完善的功能,充分利用其功能就能制作出各式各样的图形图像来,这样使页面内容更加丰富。
希望本文所述对大家PHP程序设计有所帮助。