PHP GD和True Type字体

PHP GD和True Type字体,php,gd,truetype,Php,Gd,Truetype,我对TTF和PHPGD2.x有一个奇怪的问题 我有一个45像素的TTF在顶部位置100。文本顶部与一条线(在图像中)完全对齐 但是如果我改变字体的大小,文本将不再与行对齐 在大小为20px时,我需要将文本的顶部值减去5,如果字体大小为300px,我需要将顶部值加56以获得完美对齐 更糟糕的是,如果我改变字体(另一个TTF),它是相同的,但数字不同 我错过什么了吗。为什么我需要根据文本的大小更改文本的最大值,以及为什么一种字体的数字与另一种字体的数字不同 如果一切正常。我怎样才能得到一个公式,使文

我对TTF和PHPGD2.x有一个奇怪的问题

我有一个45像素的TTF在顶部位置100。文本顶部与一条线(在图像中)完全对齐

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

在大小为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. 
我的数学不太好……很遗憾

谢谢


Bill

您最好使用Imagick,它可以让您查询数据。您可能需要字体的x-height或cap-height值,这是从GD无法获得的


一旦你得到了这些值,你就可以正确地计算出你需要的垂直偏移量来排列所有的东西。

哇,这一改变解决了我的问题,而且图像魔法变得简单多了。