2013-07-26 46 views
1

我有一个奇怪的问题TTF和PHP GD 2.x.PHP GD和True Type字体

我有一个大小45px 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. 

我不是数学这么好....伤心

感谢

比尔

回答

0

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

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

+0

WOW,这个改变解决了我的问题,Image Magick更容易。 – lebill