imagettftext 用 TrueType 字体向图像写入文本
发表日期:2021-07-01 08:56:02 | 来源: | | 浏览(866) 分类:GD 和图像处理 函数
imagettftext
(PHP 4, PHP 5, PHP 7, PHP 8)
imagettftext — 用 TrueType 字体向图像写入文本
说明
imagettftext(
resource $image
,
float $size
,
float $angle
,
int $x
,
int $y
,
int $color
,
string $fontfile
,
string $text
): array
使用 TrueType 字体将 指定的 text
写入图像。
参数
image
由图象创建函数(例如imagecreatetruecolor())返回的图象资源。
size
字体的尺寸,单位:点(磅)。
angle
角度制表示的角度,0 度为从左向右读的文本。更高数值表示逆时针旋转。例如 90 度表示从下向上读的文本。
x
由
x
,y
所表示的坐标定义了第一个字符的基本点(大概是字符的左下角)。这和 imagestring() 不同,其x
,y
定义了第一个字符的左上角。例如 "top left" 为 0, 0。y
Y 坐标。它设定了字体基线的位置,不是字符的最底端。
color
颜色索引。使用负的颜色索引值具有关闭防锯齿的效果。见 imagecolorallocate()。
fontfile
是想要使用的 TrueType 字体的路径。
根据 PHP 所使用的 GD 库的不同,当
fontfile
没有以/
开头时则.ttf
将被加到文件名之后并且会在库定义字体路径中尝试搜索该文件名。当使用的 GD 库版本低于 2.0.18 时,一个空格字符 而不是分号将被用来作为不同字体文件的“路径分隔符”。不小心使用了此特性将会导致一条警告信息:
Warning: Could not find/open font
。对受影响的版本来说唯一解决方案就是将字体移动到不包含空格的路径中去。很多情况下字体都放在脚本的同一个目录下。下面的小技巧可以减轻包含的问题。
<?php // Set the enviroment variable for GDputenv('GDFONTPATH=' . realpath('.')); // Name the font to be used (note the lack of the .ttf extension)$font = 'SomeFont'; ?>
text
UTF-8 编码的文本字符串。
可以包含十进制数字化字符表示(形式为:€)来访问字体中超过位置 127 的字符。UTF-8 编码的字符串可以直接传递。
命名实体,比如 © 是不支持的。可以考虑使用 html_entity_decode() 来解码命名实体为 UTF-8 字符。 (自 PHP 5.0.0 开始 html_entity_decode() 开始支持)
如果字符串中使用的某个字符不被字体支持,一个空心矩形将替换该字符。
返回值
返回一个含有 8 个单元的数组表示了文本外框的四个角,顺序为坐下角,右下角,右上角,左上角。这些点是相对于文本的而和角度无关,因此“左上角”指的是以水平方向看文字时其左上角。
更新日志
版本 | 说明 |
---|---|
5.2.0 | It is now possible to specify an hexadecimal entity in text . |
范例
示例 #1 imagettftext() 例子
本例中的脚本将生成一个白色的 400x30 像素 PNG 图像,其中有黑色(带灰色阴影)Arial 字体写的“Testing...”。
<?php // Set the content-typeheader('Content-Type: image/png'); // Create the image$im = imagecreatetruecolor(400, 30); // Create some colors$white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 399, 29, $white); // The text to draw$text = 'Testing...'; // Replace path by your own font path$font = 'arial.ttf'; // Add some shadow to the textimagettftext($im, 20, 0, 11, 21, $grey, $font, $text); // Add the textimagettftext($im, 20, 0, 10, 20, $black, $font, $text); // Using imagepng() results in clearer text compared with imagejpeg()imagepng($im); imagedestroy($im); ?>
以上例程的输出类似于:
注释
注意:
本函数同时需要 GD 库和» FreeType 库。.
参见
imagettfbbox() - 取得使用 TrueType 字体的文本的范围
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- gd_info 取得当前安装的 GD 库的信息(0)
- getimagesize 取得图像大小(0)
- getimagesizefromstring 从字符串中获取图像尺寸信息(0)
- image_type_to_extension 取得图像类型的文件后缀(0)
- image_type_to_mime_type 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型(0)
- image2wbmp 以 WBMP 格式将图像输出到浏览器或文件(0)
- imageaffine 返回经过仿射变换后的图像,剪切区域可选(0)
- imageaffinematrixconcat Concatenate two affine transformation matrices(0)
- imageaffinematrixget Get an affine transformation matrix(0)
- imagealphablending 设定图像的混色模式(0)
- imageantialias 是否使用抗锯齿(antialias)功能(0)
- imagearc 画椭圆弧(0)
- imagebmp Output a BMP image to browser or file(0)
- imagechar 水平地画一个字符(0)
- imagecharup 垂直地画一个字符(0)
- imagecolorallocate 为一幅图像分配颜色(0)
- imagecolorallocatealpha 为一幅图像分配颜色 + alpha(0)
- imagecolorat 取得某像素的颜色索引值(0)
- imagecolorclosest 取得与指定的颜色最接近的颜色的索引值(0)
- imagecolorclosestalpha 取得与指定的颜色加透明度最接近的颜色(0)
- imagecolorclosesthwb 取得与给定颜色最接近的色度的黑白色的索引(0)
- imagecolordeallocate 取消图像颜色的分配(0)
- imagecolorexact 取得指定颜色的索引值(0)
- imagecolorexactalpha 取得指定的颜色加透明度的索引值(0)
- imagecolormatch 使一个图像中调色板版本的颜色与真彩色版本更能匹配(0)
- imagecolorresolve 取得指定颜色的索引值或有可能得到的最接近的替代值(0)
- imagecolorresolvealpha 取得指定颜色 + alpha 的索引值或有可能得到的最接近的替代值(0)
- imagecolorset 给指定调色板索引设定颜色(0)
- imagecolorsforindex 取得某索引的颜色(0)
- imagecolorstotal 取得一幅图像的调色板中颜色的数目(0)
- imagecolortransparent 将某个颜色定义为透明色(0)
- imageconvolution 用系数 div 和 offset 申请一个 3x3 的卷积矩阵(0)
- imagecopy 拷贝图像的一部分(0)
- imagecopymerge 拷贝并合并图像的一部分(0)
- imagecopymergegray 用灰度拷贝并合并图像的一部分(0)
- imagecopyresampled 重采样拷贝部分图像并调整大小(0)
- imagecopyresized 拷贝部分图像并调整大小(0)
- imagecreate 新建一个基于调色板的图像(0)
- imagecreatefrombmp 由文件或 URL 创建一个新图象。(0)
- imagecreatefromgd2 从 GD2 文件或 URL 新建一图像(0)
- imagecreatefromgd2part 从给定的 GD2 文件或 URL 中的部分新建一图像(0)
- imagecreatefromgd 从 GD 文件或 URL 新建一图像(0)
- imagecreatefromgif 由文件或 URL 创建一个新图象。(0)
- imagecreatefromjpeg 由文件或 URL 创建一个新图象。(0)
- imagecreatefrompng 由文件或 URL 创建一个新图象。(0)
- imagecreatefromstring 从字符串中的图像流新建一图像(0)
- imagecreatefromwbmp 由文件或 URL 创建一个新图象。(0)
- imagecreatefromwebp 由文件或 URL 创建一个新图象。(0)
- imagecreatefromxbm 由文件或 URL 创建一个新图象。(0)
- imagecreatefromxpm 由文件或 URL 创建一个新图象。(0)
- imagecreatetruecolor 新建一个真彩色图像(0)
- imagecrop Crop an image to the given rectangle(0)
- imagecropauto Crop an image automatically using one of the available modes(0)
- imagedashedline 画一虚线(0)
- imagedestroy 销毁一图像(0)
- imageellipse 画一个椭圆(0)
- imagefill 区域填充(0)
- imagefilledarc 画一椭圆弧且填充(0)
- imagefilledellipse 画一椭圆并填充(0)
- imagefilledpolygon 画一多边形并填充(0)
- imagefilledrectangle 画一矩形并填充(0)
- imagefilltoborder 区域填充到指定颜色的边界为止(0)
- imagefilter 对图像使用过滤器(0)
- imageflip Flips an image using a given mode(0)
- imagefontheight 取得字体高度(0)
- imagefontwidth 取得字体宽度(0)
- imageftbbox 给出一个使用 FreeType 2 字体的文本框(0)
- imagefttext 使用 FreeType 2 字体将文本写入图像(0)
- imagegammacorrect 对 GD 图像应用 gamma 修正(0)
- imagegd2 将 GD2 图像输出到浏览器或文件(0)
- imagegd 将 GD 图像输出到浏览器或文件(0)
- imagegetclip Get the clipping rectangle(0)
- imagegetinterpolation Get the interpolation method(0)
- imagegif 输出图象到浏览器或文件。(0)
- imagegrabscreen Captures the whole screen(0)
- imagegrabwindow Captures a window(0)
- imageinterlace 启用或禁用隔行扫描(0)
- imageistruecolor 检查图像是否为真彩色图像(0)
- imagejpeg 输出图象到浏览器或文件。(0)
- imagelayereffect 设定 alpha 混色标志以使用绑定的 libgd 分层效果(0)
- imageline 画一条线段(0)
- imageloadfont 载入一新字体(0)
- imageopenpolygon Draws an open polygon(0)
- imagepalettecopy 将调色板从一幅图像拷贝到另一幅(0)
- imagepalettetotruecolor Converts a palette based image to true color(0)
- imagepng 以 PNG 格式将图像输出到浏览器或文件(0)
- imagepolygon 画一个多边形(0)
- imagerectangle 画一个矩形(0)
- imageresolution Get or set the resolution of the image(0)
- imagerotate 用给定角度旋转图像(0)
- imagesavealpha 设置标记以在保存 PNG 图像时保存完整的 alpha 通道信息(与单一透明色相反)(0)
- imagescale Scale an image using the given new width and height(0)
- imagesetbrush 设定画线用的画笔图像(0)
- imagesetclip Set the clipping rectangle(0)
- imagesetinterpolation Set the interpolation method(0)
- imagesetpixel 画一个单一像素(0)
- imagesetstyle 设定画线的风格(0)
- imagesetthickness 设定画线的宽度(0)
- imagesettile 设定用于填充的贴图(0)
- imagestring 水平地画一行字符串(0)
- imagestringup 垂直地画一行字符串(0)
- imagesx 取得图像宽度(0)
- imagesy 取得图像高度(0)
- imagetruecolortopalette 将真彩色图像转换为调色板图像(0)
- imagettfbbox 取得使用 TrueType 字体的文本的范围(0)
- imagettftext 用 TrueType 字体向图像写入文本(0)
- imagetypes 返回当前 PHP 版本所支持的图像类型(0)
- imagewbmp 以 WBMP 格式将图像输出到浏览器或文件(0)
- imagewebp 将 WebP 格式的图像输出到浏览器或文件(0)
- imagexbm 将 XBM 图像输出到浏览器或文件(0)
- iptcembed 将二进制 IPTC 数据嵌入到一幅 JPEG 图像中(0)
- iptcparse 将二进制 IPTC 块解析为单个标记(0)
- jpeg2wbmp 将 JPEG 图像文件转换为 WBMP 图像文件(0)
- png2wbmp 将 PNG 图像文件转换为 WBMP 图像文件(0)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)