1
我正在黑色條上繪製一些文本,然後使用PIL
將結果粘貼到基本圖像的頂部。一個關鍵是將文本位置完美地放在黑色條的中心。正確對中文本(PIL/Pillow)
我通過下面的代碼迎合的是:
from PIL import Image, ImageFont, ImageDraw
background = Image.new('RGB', (strip_width, strip_height)) #creating the black strip
draw = ImageDraw.Draw(background)
font = ImageFont.truetype("/usr/share/fonts/truetype/freefont/FreeSansBold.ttf", 16)
text_width, text_height = draw.textsize("Foooo Barrrr!")
position = ((strip_width-text_width)/2,(strip_height-text_height)/2)
draw.text(position,"Foooo Barrrr!",(255,255,255),font=font)
offset = (0,base_image_height/2)
base_image.paste(background,offset)
通知我如何設置position
。
現在所有說的和做,結果看起來像這樣:
的文本不是正是 middled。這是輕微的權利和下降。我該如何改進我的算法?
什麼是'text'的內容是什麼? 「Foooo Barrrr!」??爲什麼在draw.textsize調用中使用'text',而在draw.text調用中使用了新的字符串? – tiwo
draw.textsize不知道您使用的字體。我認爲你應該通過它作爲第二個參數。 也許你需要回到文檔,或者提供一個簡單的例子。 – tiwo
@tiwo:'text'是一個錯字,它應該是''Foooo Barrrr!''。我已經解決了這個問題。 –