python输出文本对齐_python-使用PIL使文本居中对齐/居中对齐?

ImageDraw.text的PIL文档是一个很好的起点,但是请不要回答您的问题。

下面是一个如何将文本居中放置在任意边界框中而不是图像中心的示例。 边界框定义为:align='center' =左上角和align='center' =右下角。

from PIL import Image, ImageDraw, ImageFont

# Create blank rectangle to write on

image = Image.new('RGB', (300, 300), (63, 63, 63, 0))

draw = ImageDraw.Draw(image)

message = 'Stuck in\nthe middle\nwith you'

bounding_box = [20, 30, 110, 160]

x1, y1, x2, y2 = bounding_box # For easy reading

font = ImageFont.truetype('Consolas.ttf', size=12)

# Calculate the width and height of the text to be drawn, given font size

w, h = draw.textsize(message, font=font)

# Calculate the mid points and offset by the upper left corner of the bounding box

x = (x2 - x1 - w)/2 + x1

y = (y2 - y1 - h)/2 + y1

# Write the text to the image, where (x,y)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值