[英]Writing text with carriage return to image in Python using PIL
我有一個使用PIL將文字寫入圖像的python腳本。 一切正常,除了當我遇到帶有回車符的字符串時。 我需要在文本中保留回車符。 而不是將回車符寫到圖像上,我得到了一個小方框字符,應該在該處返回。 這是編寫文本的代碼:
<code>
draw = ImageDraw.Draw(blankTemplate)
draw.text((35 + attSpacing, 570),str(attText),fill=0,font=attFont)
</code>
attText是我遇到麻煩的變量。 我在寫之前將其轉換為字符串,因為在某些情況下,它是一個數字。
感謝您的幫助。
讓我們考慮一下。 “返回”表示什么? 這意味着向左走一段距離,然后往下走一段距離,然后繼續顯示字符。
您必須執行以下操作。
y, x = 35, 570
for line in attText.splitlines():
draw.text( (x,y), line, ... )
y = y + attSpacing
您可以嘗試以下代碼,這些代碼完全可以滿足我的需求:
# Place Text on background
lineCnt = 0
for line in str(attText):
draw = ImageDraw.Draw(blankTemplate)
draw.text((35 + attSpacing,570 + 80 * lineCnt), line, font=attFont)
lineCnt = lineCnt +1
表達式“ y + 80 * lineCnt”根據行號將文本在y位置下移。 (轉換的系數“ 80”必須根據字體進行調整)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.