2013-07-26 99 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