如何利用Python编程给图片添加文字或logo水印?

要在Python中实现给图片加文字或logo水印,可以使用PIL库。首先需要安装PIL库,然后使用以下代码:,,``python,from PIL import Image, ImageDraw, ImageFont,,def add_watermark(image_path, watermark_text, output_path):, image = Image.open(image_path).convert('RGBA'), width, height = image.size, draw = ImageDraw.Draw(image), font = ImageFont.truetype('arial.ttf', 30), draw.text((width 100, height 50), watermark_text, font=font, fill=(255, 255, 255, 128)), image.save(output_path, 'PNG'),,add_watermark('input.jpg', '水印文字', 'output.png'),`,,将input.jpg替换为要添加水印的图片路径,将水印文字替换为要添加的文字,将output.png`替换为输出图片的路径。

Python实现给图片加文字或logo水印

如何利用Python编程给图片添加文字或logo水印?
(图片来源网络,侵删)

要使用Python给图片添加文字或logo水印,我们可以使用PIL(Python Imaging Library)库,以下是一个简单的示例:

1、安装PIL库

如果你还没有安装PIL库,可以使用以下命令进行安装:

```bash

pip install pillow

如何利用Python编程给图片添加文字或logo水印?
(图片来源网络,侵删)

```

2、代码实现

下面是一个简单的函数,用于在给定的图片上添加文字或logo水印:

```python

from PIL import Image, ImageDraw, ImageFont

如何利用Python编程给图片添加文字或logo水印?
(图片来源网络,侵删)

def add_watermark(image_path, watermark_text=None, watermark_image_path=None, output_path='output.jpg'):

# 打开原始图片

image = Image.open(image_path)

width, height = image.size

# 创建一个绘图对象

draw = ImageDraw.Draw(image)

# 设置字体和大小

font = ImageFont.truetype('arial.ttf', 36)

# 如果提供了水印文字

if watermark_text:

text_width, text_height = draw.textsize(watermark_text, font)

x = (width text_width) / 2

y = (height text_height) / 2

draw.text((x, y), watermark_text, font=font, fill=(255, 255, 255))

# 如果提供了水印图片

if watermark_image_path:

watermark = Image.open(watermark_image_path)

watermark = watermark.resize((int(width * 0.2), int(height * 0.2))) # 调整水印大小

wm_width, wm_height = watermark.size

x = width wm_width 10

y = height wm_height 10

image.paste(watermark, (x, y), watermark)

# 保存带有水印的图片

image.save(output_path)

```

使用方法:

```python

add_watermark('input.jpg', watermark_text='Watermark Text', output_path='output_with_text.jpg')

add_watermark('input.jpg', watermark_image_path='logo.png', output_path='output_with_logo.jpg')

```

3、相关问题与解答

Q1: 如何调整水印的大小?

A1: 在上面的代码中,我们使用了resize方法来调整水印图片的大小,你可以根据需要修改resize方法中的参数来调整水印的大小,将(int(width * 0.2), int(height * 0.2))更改为(int(width * 0.3), int(height * 0.3))可以将水印的大小增加30%。

Q2: 如何改变水印的颜色?

A2: 在上面的代码中,我们使用了fill参数来设置水印文字的颜色,你可以更改fill参数的值来改变水印的颜色,将fill=(255, 255, 255)更改为fill=(0, 0, 0)可以将水印颜色更改为黑色,对于水印图片,你可以在将其粘贴到原始图像之前,使用PIL库的其他功能来处理图像的颜色。