您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python如何为图片添加水印

5b51 2022/1/14 8:18:31 python 字数 3988 阅读 363 来源 www.jb51.cc/python

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

概述

添加水印的主要目的是为了版权保护,使自己的图像不被抄袭或者恶意转载。网上有很多制作水印的工具,本帖介绍怎么使用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,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,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')

添加图片水印

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')

总结

以上是编程之家为你收集整理的Python如何为图片添加水印全部内容,希望文章能够帮你解决Python如何为图片添加水印所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶