PHP 带文字的图像
本文最后更新于:2024年3月18日 凌晨
PHP 带文字的图像
- 我们经常要在图像上添加文字,GD有内置的字库来完成这个功能,示例9-5在黑色正方形上添加了一些文字。
示例9-5:添加文字到图像中。
1 |
|
ImageString()
函数用于向图像添加文字,并指定了文字的左上角坐标,颜色和字体。
1 |
|
TrueType字体
- GD中的字体用数字编号来标识。
- 用来展示TureType字体的PHP代码如下:
1 |
|
- 你可以创建自己的字体,并用
ImageLoadFont()
函数来将其载入GD,但是这些字体是二进制的,并且与体系结构相关,用GD中的TrueType函数来创建TrueType字体具有更大的灵活性,是一种更好的方法。 - 要在GD中使用TrueType字体,PHP需要和提供TrueType支持的FreeTypeFreeType库一起编译,检查一下你的
phpinfo()
页面,查看GD这一部分中"FreeType”选项是否已经启用。 - 要向图像中添加TrueType字体的文字,可使用
imageTTFText()
函数:
1 |
|
- size参数以像素为单位,angle是从3点钟位置开始计算的角度,(例如angle为0则生成水平方向的文字,90则生成垂直方向的文字),x和y坐标指定文字左下角的坐标(这与
ImageString()
不同,它指明的是左上角的坐标),文字也许会包含ê(ê)形式的UTF-8前缀,用于输出ASCII字符的高位。 - 在GD1.x中,font参数是一个包含.uf扩展名的完整路径文件名,在GD2.x中,默认情况下,PHP会到
/usr/share/fonts/truetype
目录下查找字体文件,并自动添加小写的.ttf后缀,字体大小在GD1.x和GD2.x中也有一些细微差别。 - 默认的,使用TrueType字体的文字是抗锯齿的,这将使大多数字体易于识别,尽管可能有轻微的模糊,抗锯齿会使一些小字难以识别----因为小字中的像素比较少,所以抗锯齿的调节是很重要的,要在适当的时候使用。
- 你可以把抗锯齿功能禁用,通过使用一个负的颜色值(如,-4意味着使用4号颜色,但不使用抗锯齿功能)
示例9-6:使用TrueType字体来向图像添加文字。
1 |
|
示例9-7:使用ImageTTFText()
函数向图像中添加竖直排列的文字:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!