我試圖使用imagettftext()和標準的Arial粗體字體來呈現文本在一個框的中心對齊。PHP GD - 不同的文本偏移Mac vs Linux
我正在開發Mac上的代碼,並且文本與盒子中心對齊,就像我期望的那樣。但是,然後我將我的代碼部署到一個合適的Linux服務器,它似乎從文本渲染的起源是不同的,字距不對。
我已經證實我在兩臺機器上的php和php gd的最新版本和最好的版本。
請參見下面的示例圖像:
這是Mac
這是在Linux上會發生什麼
我的問題有沒有人遇到此,知道一個修復或會發生什麼這個問題的解決方法是不必訴諸於實際上只是在Linux服務器上補償文本幾個像素。還是有什麼我失蹤了,當涉及到使用上述功能呈現文本?編輯:我用imagettfbbox()來獲取我正在渲染的文本的大小以正確居中(我也嘗試過使用imagettftext()獲得邊界框的虛擬渲染,問題似乎是是原始imagettftext()呈現也是奇怪)
編輯2:也許它在freetype實現之間的差異?但我希望它們使用相同的代碼庫
那不是一種解決方法僅僅是檢測並調整相應的偏移? – 2010-11-16 17:57:32
以及我已經嘗試過,但如果你看看在Linux上的圖片,你可以看到數字30實際上更接近線條,然後說數字1,並推動一切,說2像素實際只適用於數字的第一半而不是下半部分 – Tristan 2010-11-16 18:00:29