2014-10-11 120 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

做分析很棘手。

一種方法是反覆試驗。選擇大字體大小和渲染的佈局,看看它是否適合

使用二分法算法收斂適合