大周哥 » 查看日志 » 【PHP学习笔记】如何在图片上写入中文字
【PHP学习笔记】如何在图片上写入中文字
时间:2015-4-9 16:55 Thursday | 作者:大周哥 | 分类:学习笔记

    今天写程序发现,如果直接用imagestring函数在图片上写入中文字是会出现乱码的,要使PHP图片支持中文字符,必须用到TTF字体,使用ImageTTFText函数,其具体用法如下:

    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 当然就是字符串内容了。返回值为数组,包括了八个元素,头二个分别为左下的 x、y 坐标,第三、四个为右下角的 x、y 坐标,第五、六及七、八二组分别为右上及左上的 x、y 坐标。需要注意的是使用本函数,系统要装 GD 及 Freetype 二个函数库。


使用范例:


本例建立一个 400x30 pixel 大小的黑底图,并用 Arial 向量字体写出 I am NUMBER ONE !! 的白字。

<?php
Header("Content-type: image/gif");
$im = imagecreate(400,30);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
ImageTTFText($im, 20, 0, 10, 20, $white, "/somewhere/arial.ttf", "I am NUMBER ONE !!");
ImageGif($im);
ImageDestroy($im);
?>

发表评论: