2014-10-11 227 views
0

我正在尝试将我的文本的FontSize转换为宽高特定的上下文。例如,如果我得到一个图像(512x512像素),我得到了例如140个字符。什么是理想的FontSize计算字体大小

在上面的例子中,一个50像素的Fontsize似乎没问题,但是如果有更多的文本会发生什么?文字不适合图片,因此需要缩小。我一直在试图自己计算这一点,但没有成功。

我试过的是这样的: 获得总像素,图片512x512 = 262144并分成文本的长度。但是这给了一个很大的数字。即使我将该数字除以4(考虑字体的盒式像素模型)。

您有任何解决方案吗?

PS。我一直在使用truetype(如果这是有用的) 我一直在使用python达到这个目的,而PIL用于图像处理。

预先感谢您。

+0

你可能会需要一个编程语言为这个最大的字体。你可以使用哪一个?您应该将该信息作为标签添加到您的问题中。 – 2014-10-11 21:23:46

+0

谢谢。我正在使用python。我将编辑该问题。 – Javittoxs 2014-10-11 21:32:49

+0

我不知道Python,但唯一的方法似乎是,正如gnibbler所说的那样,试验和错误。见例如http://stackoverflow.com/questions/10689225/imagettftext-calculate-font-size-to-ensure-text-fits-image-width对于一个基于PHP的答案更详细一些 – 2014-10-12 08:49:04

回答

3

做分析很棘手。

一种方法是反复试验。选择大字体大小和渲染的布局,看看它是否适合

使用二分法算法收敛适合