1

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

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

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

在大小为 20 像素时,我需要将文本的顶部值减去 5,如果字体大小为 300 像素,我需要在顶部值上添加 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. 

我数学不太好……伤心

谢谢

账单

4

1 回答 1

0

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

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

于 2013-07-26T20:03:09.950 回答