我正在閱讀word-clouds上的本教程,它需要柵格化字符串的形狀。然後可以計算字形與numpy
的交點。在Python中獲取文本字符串的位掩碼
本教程中的作者抱怨Python Image Library。更直接的方法,可能是使用pyCairo
。但是,我無法找到與每個字形對應的位掩碼。
理想情況下,我想輸入並返回一些1和零的集合,我可以把它們放到numpy中。
0000011100000
0000111100000
0001111100000
0000011100000
0000011100000
0000011100000
0000011100000
0000011100000
1111111111111
1111111111111
這裏是我的嘗試與開羅,但我不能讓位掩碼出來開羅或畫,或其他任何東西:
import cairo as cr
WIDTH, HEIGHT = 256, 256
surface = cairo.ImageSurface (cairo.FORMAT_ARGB32, WIDTH, HEIGHT)
ctx = cairo.Context (surface)
ctx.set_source_rgb(0.0, 0.0, 0.0)
ctx.select_font_face("Georgia", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_BOLD)
ctx.set_font_size(1.2)
x_bearing, y_bearing, width, height = ctx.text_extents("a")[:4]
ctx.move_to(0.5 - width/2 - x_bearing, 0.5 - height/2 - y_bearing)
ctx.show_text("a")
事實上,獲得的任何可靠的方法ascii數字表示可能是合適的。
相關:http://stackoverflow.com/questions/9632995/is-there-a-python-library-that-allows-to-easily-print-ascii-art-text – wflynny
你可以開始調試這個通過使用surface write_to_png檢查輸出是你認爲的結果。 –
[將字符串轉換爲Python中的二進制]可能的重複(http://stackoverflow.com/questions/18815820/convert-string-to-binary-in-python) – skrrgwasme