[英]PHP imagettftext(): Could not find/open font with “Image with Text” PHP library
[英]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.