2016-05-05 91 views
1

是否有任何方法可以獲取列表中最大的單詞,但不是每個單詞中的字符數,而是通過打印後的寬度來獲取?通過文本寬度獲取單詞的打印長度

例如,字符I的寬度小於m的長度。

實例:

mwmwmwmwmw(LEN = 10)

iiiiiiiiiiiiiiiiiiii(LEN = 20)

正如我們可以看到在這個例子中,第二字符串的len爲比第一個更高,但在寬度方面,它更短。

我知道這是一個奇怪的問題,但有趣的看到不同的方法。

當然,這取決於在印刷時使用的字體:)

注:我知道這取決於字體,但即使在這種情況下,對於每一個字體應該或多或少地發生(我的意思是該M將是更大的曬黑I)

+0

我可以知道這樣做的動機嗎? – Peaceful

+1

你說的對,這取決於字體。你使用什麼圖形庫? – Chris

+3

你說過了:它取決於字符如何呈現 - 使用哪種字體,字距,間距以及其他各種因素。你有什麼關於渲染的信息? – mhawke

回答

0

我終於用這個其他問題link獲得創建一個函數,做什麼,我想:

def get_printed_size(text, myfont): 
    root = tk.Tk() 
    font = tkFont.Font(family=myfont[0], size=myfont[1]) 
    (w,h) = (font.measure(text),font.metrics("linespace")) 
    print "%s %s: (%s,%s)" % (myfont[0],myfont[1],w,h) 
    return w 

可以稱爲:

get_printed_size("some text", ("Helvetica",10)) 
相關問題