python报告水印怎么弄_Python如何为图片添加水印

添加水印的主要目的是为了版权保护,使自己的图像不被抄袭或者恶意转载。网上有很多制作水印的工具,本帖介绍怎么使用Python-Pillow库给图片添加水印。

使用ImageMagick添加图片水印-Linux 添加文本水印

在图片右下角添加文字:

from PILimport Image, ImageDraw, ImageFont

# 指定要使用的字体和大小;/Library/Fonts/是macOS字体目录;Linux的字体目录是/usr/share/fonts/

font = ImageFont.truetype('/Library/Fonts/Arial.ttf', 24)

# image: 图片 text:要添加的文本 font:字体

def add_text_to_image(image, text, font=font):

rgba_image = image.convert('RGBA')

text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))

image_draw = ImageDraw.Draw(text_overlay)

text_size_x, text_size_y = image_draw.textsize(text, font=font)

# 设置文本文字位置

print(rgba_image)

text_xy = (rgba_image.size[0] - text_size_x, rgba_image.size[1] - text_size_y)

# 设置文本颜色和透明度

image_draw.text(text_xy, text, font=font, fill=(76, 234, 124, 180))

image_with_text = Image.alpha_composite(rgba_image, text_overlay)

return image_with_text

im_before = Image.open("lena.jpg")

im_before.show()

im_after = add_text_to_image(im_before, 'WTF')

im_after.show()

# im.save('im_after.jpg')

201611250839451.png

添加图片水印

fromPILimportImage, ImageDraw

defadd_watermark_to_image(image, watermark):

rgba_image = image.convert('RGBA')

rgba_watermark = watermark.convert('RGBA')

image_x, image_y = rgba_image.size

watermark_x, watermark_y = rgba_watermark.size

# 缩放图片

scale = 10

watermark_scale = max(image_x / (scale * watermark_x), image_y / (scale * watermark_y))

new_size = (int(watermark_x * watermark_scale), int(watermark_y * watermark_scale))

rgba_watermark = rgba_watermark.resize(new_size, resample=Image.ANTIALIAS)

# 透明度

rgba_watermark_mask = rgba_watermark.convert("L").point(lambda x: min(x, 180))

rgba_watermark.putalpha(rgba_watermark_mask)

watermark_x, watermark_y = rgba_watermark.size

# 水印位置

rgba_image.paste(rgba_watermark, (image_x - watermark_x, image_y - watermark_y), rgba_watermark_mask)

return rgba_image

im_before = Image.open("lena.jpg")

im_before.show()

im_watermark = Image.open("watermark.jpg")

im_after = add_watermark_to_image(im_before, im_watermark)

im_after.show()

# im.save('im_after.jpg')

201611250839452.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值