pillow 添加文字
时间: 2023-08-31 08:06:15 浏览: 128
要在 Pillow 中添加文字,可以使用 ImageDraw 模块。以下是一个简单的示例代码,可以将文本添加到一张图片中:
```python
from PIL import Image, ImageDraw, ImageFont
# 打开图片
image = Image.open("example.jpg")
# 创建 ImageDraw 对象
draw = ImageDraw.Draw(image)
# 设置字体和字号
font = ImageFont.truetype("arial.ttf", 36)
# 在图片上添加文本
draw.text((100, 100), "Hello, world!", font=font, fill=(255, 255, 255))
# 保存图片
image.save("output.jpg")
```
在这个例子中,我们打开了一张名为 "example.jpg" 的图片,然后创建了一个 ImageDraw 对象,设置了字体和字号,最后在图片上添加了文本 "Hello, world!",并将图片保存为 "output.jpg"。
相关问题
用pillow在图片中添加文字
Pillow是一个Python图像处理库,常用于各种图像操作,包括添加文本到图片上。你可以通过以下步骤在图片中添加文字:
1. 首先,你需要安装Pillow库,可以使用pip进行安装:
```
pip install Pillow
```
2. 导入需要的模块:
```python
from PIL import Image, ImageDraw, ImageFont
```
3. 打开图片文件:
```python
image = Image.open('your_image.jpg')
```
4. 创建一个`ImageDraw`对象,它允许我们在图像上绘制:
```python
draw = ImageDraw.Draw(image)
```
5. 设置字体、颜色和大小,然后添加文字。例如,如果你有一个名为`font.ttf`的TrueType字体文件:
```python
font = ImageFont.truetype('font.ttf', size=30) # 可调整字体大小
text = 'Hello, World!' # 要添加的文字内容
position = (50, 50) # 文字的位置,通常以像素为单位
```
6. 绘制文字:
```python
draw.text(position, text, fill='white', font=font)
```
7. 最后保存修改后的图片:
```python
image.save('new_image_with_text.jpg')
```
如果你想在特定位置精确控制文字对齐,可以使用`ImageDraw.textsize()`函数来获取文字的实际尺寸,以便更准确地放置。
Pillow 文字水印背景
你可以使用 Pillow 库中的 ImageDraw 模块来添加文字水印,并通过 ImageOps 模块中的 colorize() 方法来添加背景色。
以下是一个示例代码:
```python
from PIL import Image, ImageDraw, ImageOps, ImageFont
# 打开图片
image = Image.open('image.jpg')
# 创建 ImageDraw 对象
draw = ImageDraw.Draw(image)
# 设置字体和文字
font = ImageFont.truetype('arial.ttf', 36)
text = 'watermark'
# 获取文字大小
text_width, text_height = draw.textsize(text, font)
# 设置文字位置
x = image.width - text_width - 20
y = image.height - text_height - 20
# 添加背景色
background = ImageOps.colorize(Image.new('RGBA', (text_width, text_height), (0, 0, 0, 128)), (255, 255, 255))
# 合并背景色和文字
background.paste(ImageOps.colorize(Image.new('RGBA', (text_width, text_height), (255, 255, 255, 0)), (255, 255, 255)), (0, 0), ImageOps.invert(background))
background.paste(ImageOps.colorize(Image.new('RGBA', (text_width, text_height), (255, 255, 255, 0)), (0, 0, 0)), (0, 0), background)
# 添加文字水印
draw.text((x, y), text, font=font, fill=(255, 255, 255))
# 保存图片
image.save('watermarked_image.jpg')
```
这个示例代码会在图片的右下角添加一个带有背景色的文字水印。你可以调整背景色和文字位置等参数,以满足你的需求。
阅读全文