PHP中利用GD输出汉字实例

作者:网络 来源:佚名 更新时间:2008-04-09 23:17:05 点击:
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • (王锋)


    一、原理
    php中的gd库支持中文,但是必须要以utf-8格式的参数来进行传递。下面先说一下汉字的utf-8编码的求得。
    1. 用word2000或window 2000下的记事本编辑所要显示的汉字。
    2. 把所编辑的文字存成格式为utf-8格式的文件。
    3. 用一个16进制的编辑器(如用pctools的edit功能)打开这个文件,这时会看到打开的文件里面有一些16进制的字符。一个汉字占三个字节,所以应该选择编辑汉字个数乘以3个字节的内容,把此编码记录下来以备后用。如赛迪网的代码是:e8 b5 9b e8 bf aa e7 bd 91

    二、实现
    本例中实现:赛迪网 www.ccidnet.com 的图像输出。文件名为:ttf.php。<?php
    //定义输出为图像类型
    header("content-type:image/gif");
    //新建图象
    $pic=imagecreate(240,30);
    //定义黑白颜色
    $black=imagecolorallocate($pic,0,0,0);
    $white=imagecolorallocate($pic,255,255,255);
    //定义字体
    $font="c://win2000//fonts//simhei.ttf";
    //定义输出字体串
    $str = chr(0xe8).chr(0xb5).chr(0x9b).chr(0xe8).chr(0xbf).chr(0xaa).chr(0xe7).chr(0xbd).chr(0x91)." www.ccidnet.com";
    //写 ttf 文字到图中
    imagettftext($pic,20,0,10,20,$white,$font,$str);
    //建立 gif 图型
    imagegif($pic);
    //结束图形,释放内存空间
    imagedestroy($pic);
    ?>

    输出结果如图:

    说明:
    1. 汉字的引用方式为chr(编码)。如chr(0xe8).chr(0xb5).chr(0x9b)显示汉字。
    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中的图像处理函数。
    4. 图像引用方式:在需要的地方直接插入:<img src="ttf.php" border=0>即可。

    三、结束语
    php的gd库提供了相当完善的功能,充分利用其功能就能制作出各式各样的图形图像来,这样使页面内容更加丰富。