PHP GD和True Type字体

时间:2013-07-26 19:57:34

标签: php gd true-type-fonts

我对TTF和PHP GD 2.x有一个奇怪的问题。

我在顶部位置100的尺寸为45px TTF。文本的顶部与一条线完美对齐(在图像中)。

但是如果我改变字体的大小,文本就不再与该行对齐。

在20px大小时,我需要将5减去文本的最高值,如果字体大小为300px,我需要在顶部值中加56,以获得完美对齐。

如果我改变字体(另一个TTF),情况会更糟,但是数字不同。

我有没有想念。为什么我需要根据文本的大小更改文本的最高值以及为什么我对一种字体的数字与另一种字体的数字不同??????

如果一切正常的话。我怎样才能得到一个公式,以便始终将文本对齐。

这里有一些数字......

Font 1 . size 20 = top 95, size 45 = top 100, size 300 = top 156.
Font 2 . size 20 = top 91, size 193 = top 100, size 300 = top 105. 

我的数学不太好......很伤心

由于

比尔

1 个答案:

答案 0 :(得分:0)

您最好使用Imagick,它可以让您查询font's metrics。您可能需要字体的x高度或帽高度值,这是GD无法获得的。

获得这些值后,您就可以正确计算出所需的垂直偏移量。