Wrap text in PIL

前端 未结 5 935
太阳男子
太阳男子 2020-12-30 03:40

I\'m using PIL to draw text on an image. How would I wrap a string of text. This is my code:

text = \"Lorem ipsum dolor sit amet, consectetur adipisicing eli         


        
5条回答
  •  臣服心动
    2020-12-30 04:17

    Well, you can do this manually, of course, using the \n every time you want to wrap the text. It isn't the best way if you have different string everytime but gives entire control over the result. But there is also the textwrap module. You can use it this way:

    import textwrap
    texto = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
    novo = textwrap.wrap(texto, width=20)
    print(novo)
    

    Results:

    >>> 
    ['Lorem ipsum dolor', 'sit amet,', 'consectetur', 'adipisicing elit,', 'sed do eiusmod', 'tempor incididunt ut', 'labore et dolore', 'magna aliqua. Ut', 'enim ad minim', 'veniam, quis nostrud', 'exercitation ullamco', 'laboris nisi ut', 'aliquip ex ea', 'commodo consequat.', 'Duis aute irure', 'dolor in', 'reprehenderit in', 'voluptate velit esse', 'cillum dolore eu', 'fugiat nulla', 'pariatur. Excepteur', 'sint occaecat', 'cupidatat non', 'proident, sunt in', 'culpa qui officia', 'deserunt mollit anim', 'id est laborum.']
    

    Returns a list of terms on the previous string wrapped according to the width you determinated.

提交回复
热议问题