簡體   English   中英

imagettftext():計算字體大小以確保文本適合圖像寬度

[英]imagettftext(): calculate font size to ensure text fits image width

我正在使用imagettftext()在圖像上寫動態文本,我希望它適合我的圖像寬度。

如何通過文本長度計算字體大小?

您可以在使用imagettfbbox函數輸出之前計算TTF文本的邊界框。 不幸的是,沒有直接的縮放方式來適應寬度,所以你必須自己做。

一種方法是將默認字體大小(例如20)的文本傳遞給imagettfbbox並從中檢索寬度。 然后,您可以通過計算比例因子來計算文本應該更小或更大,以適合您想要的大小:

scale = targetWidth / bboxWidth;

然后用適當的大小繪制文本:

fontSize = 20 * scale;

使用imagettftext函數。 字體不會以這種方式100%完美縮放,但你會得到一個非常好的近似值。

請在此處查看imagettfbox的文檔。

while (itsTooBigAccordingToimagettftext() && $fontSize > 0) {
    $fontSize--;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM