字体基线-字体属性信息
字体属性
字体的度量,是指对于指定字号的某种字体,在度量方面的各种属性,其描述参数包括:
baseline:字符基线。
ascent:字符最高点到baseline的推荐距离。
top:字符最高点到baseline的最大距离。
descent:字符最低点到baseline的推荐距离。
bottom:字符最低点到baseline的最大距离。
leading:行间距,即前一行的descent与下一行的ascent之间的距离。
参照下面的图来理解特殊的参数:
GD库的应用
在php中有一个imagettftext函数,其中的y参数指的就是baseline(很容易用错,我一直以为是字符最底端)
imagettftext( GdImage $image, float $size, float $angle, int $x, int $y, int $color, string $font_filename, string $text, array $options = [] ): array|false ?>
size
字体的尺寸,单位:点(磅)。
angle
测量字符串的角度(以度为单位)。
fontfile
想要使用的 TrueType 字体的路径。
根据 PHP 所使用的 GD 库版本,当 fontfile
没有以 /
开头时则 .ttf
将追加到文件名之后,并且会在库定义字体路径中尝试搜索该文件名。
当使用的 GD 库版本低于 2.0.18 时,space
字符而不是分号将被用来作为不同字体文件的“路径分隔符”。不小心使用了此特性将会导致一条警告信息:Warning: Could not find/open font
。对受影响的版本来说唯一解决方案就是将字体移动到不包含空格的路径。
很多情况下字体与使用字体的脚本在同一个目录中,下面的小技巧可以缓解 include 的问题。
<?php
// Set the environment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>
注意:
注意 open_basedir 不 适用于
fontfile
。
string
要测量的字符串。
PHP如何获取字体基线
官网的文档没有详细说明,给的返回值是
imagettfbbox() 成功时返回包含 8 个元素的数组,代表构成文本边界框的四个点。失败时返回 false。
键 | 内容 |
---|---|
0 | 左下角,X 位置 |
1 | 左下角,Y 位置 |
2 | 右下角,X 位置 |
3 | 右下角,Y 位置 |
4 | 右上角,X 位置 |
5 | 右上角,Y 位置 |
6 | 左上角,X 位置 |
7 | 左上角,Y 位置 |
包括下面的评论,使用方法都是错的。 可以这样使用
$ascent = abs($rect[7]);
$descent = abs($rect[1]);
$textWidth = abs($rect[0])+abs($rect[2]);
$textHeight = $ascent + $descent;
你可能还喜欢下面这些文章

//demo.imwpweb.com/wpnovo/多设备支持主题支持PC和移动端界面,独立设置,互不干扰。移动端首页(右)图:小说页面PC端和移动端的展示付费订阅主题支持付费订阅功能,支持付费单章订阅、整本小说订阅模式。

什么是内链内链,顾名思义就是在同一网站域名下的内容页面之间的互相链接(自己网站的内容链接到自己网站的内部页面,也称之为站内链接)。自动内链工作原理简单来说,我们设定一些词表以及词表对应的链接,比如词是wordpress插件,链接是http

这款插件的核心功能就是一点:找出文章中的违禁词、敏感词等措辞不当的词语,替换成你设置的更合适的词或者直接替换“*”号。请注意,需要同时下载站长工具箱和违禁词屏蔽插件,安装插件时也需要两个插件同时安装。

2、自动生成的图片并非真实在磁盘中的图片,而是动态生成的,如果保存到磁盘会占用大量空间,这个空间没必要浪费,因此修改主题代码,直接将缩略图的地址改为wpac自动生成的缩略图地址是一个非常好的方案。

wprec利用相似度算法计算每篇文章之间的相似度,找到与当前文章最相似的一些文章,展现在文章底部作为相关文章。我们知道,相关推荐插件推荐的原理是根据当前文章的特征(文章的高权重标签),从文章库中召回相关文章,再根据相关性评分,最后选出To