簡體   English   中英

使用PIL在Python中編寫帶回車符的文本以返回圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM