![](/img/trans.png)
[英]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.