python文字转图片(如何使用生成带有文本的图像())

python如何将文字转为图片?使用几行 Python 和 Pillow 创建图像按钮或横幅。
【python文字转图片(如何使用生成带有文本的图像())】这是展示如何使用Pillow(推荐 PIL 的叉子)绘制图像的快速指南。让我们从一些导入开始,并逐步执行python文字转图片示例:

from PIL import Image, ImageDraw, ImageFont from utils import display_pillow_image

python如何将文字转为图片?绘制一个简单的方形图像我们将使用它Image.new来生成一个新的wh高和特定颜色的图像;我将绘制一个红色矩形(100x100):
w = 100 # 100 pixels wide h = 100 # 100 pixels highimg = Image.new('RGB', (w, h), color='#FF0000')

display_pillow_image(img)

python文字转图片(如何使用生成带有文本的图像())

文章图片
颜色可以用十六进制 (  #FF0000) 或 RGB 数组指定:
img = Image.new('RGB', (350, 70), color=(51, 144, 255))

display_pillow_image(img)

python文字转图片(如何使用生成带有文本的图像())

文章图片
python文字转图片:给图片添加文字我们可以创建一个ImageDraw对象来为图像添加 2D 图形,例如文本,如下python文字转图像例子:
img = Image.new('RGB', (350, 70), color=(51, 144, 255))

# create the canvas canvas = ImageDraw.Draw(img)

canvas.text((10, 10), "Hello World", fill='#FFFFFF')

display_pillow_image(img)

python文字转图片(如何使用生成带有文本的图像())

文章图片
传递给text(10, 10))的第一个元组是文本的xy位置,另一个例子:
img = Image.new('RGB', (350, 70), color=(51, 144, 255))

# create the canvas canvas = ImageDraw.Draw(img)

canvas.text((250, 25), "Hello World", fill='#FFFFFF')

display_pillow_image(img)

python文字转图片(如何使用生成带有文本的图像())

文章图片
自定义文本样式你可以使用ImageFont自定义大小和使用的字体。例如,我在这个项目中包含了我们的主要排版(Lato)。我可以在本地加载它并将其用于文本:
img = Image.new('RGB', (350, 70), color=(51, 144, 255))

# create the canvas canvas = ImageDraw.Draw(img)

font = ImageFont.truetype('Lato-Bold.ttf', size=24)

canvas.text((10, 10), "Hello World", font=font, fill='#FFFFFF')

display_pillow_image(img)

python文字转图片(如何使用生成带有文本的图像())

文章图片
python文字转图片:居中文本python如何将文字转为图片?对象有一个有用的方法ImageDraw,可以让你计算将要绘制的文本的宽度和高度。你可以使用它来计算文本的正确 x 和 y 位置,python文字转图像例子如下:
image_width = 350 image_height = 70

img = Image.new('RGB', (image_width, image_height), color=(51, 144, 255))

# create the canvas canvas = ImageDraw.Draw(img)

font = ImageFont.truetype('Lato-Bold.ttf', size=24)

text_width, text_height = canvas.textsize('Hello World', font=font)

print(f"Text width: {text_width}") print(f"Text height: {text_height}")

文字宽度:134 文字高度:24

x_pos = int((image_width - text_width) / 2) y_pos = int((image_height - text_height) / 2)

print(f"X: {x_pos}") print(f"Y: {y_pos}")

X:108 Y:23

canvas.text((x_pos, y_pos), "Hello World", font=font, fill='#FFFFFF')

display_pillow_image(img)

python文字转图片(如何使用生成带有文本的图像())

文章图片
就是这样!你还能想到什么其他例子?

    推荐阅读