Python如何为图片添加水印

 更新时间:2016年11月25日 08:44:04   投稿:hebedich   我要评论
这篇文章主要介绍了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, 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')

添加图片水印

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递归法实现简易连连看小游戏

    这篇文章主要为大家详细介绍了python递归法实现简易连连看小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Python读写zip压缩文件的方法

    Python读写zip压缩文件的方法

    Python自带模块zipfile可以完成zip压缩文件的读写,而且使用非常方便,下面我们就来演示一下Python读写zip文件的实例代码,需要的朋友参考下吧
    2018-08-08
  • python3实现windows下同名进程监控

    python3实现windows下同名进程监控

    这篇文章主要为大家详细介绍了python3实现windows下同名进程监控,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python tkinter库实现气泡屏保和锁屏

    python tkinter库实现气泡屏保和锁屏

    这篇文章主要为大家详细介绍了python tkinter库实现气泡屏保和锁屏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 用Python将mysql数据导出成json的方法

    用Python将mysql数据导出成json的方法

    今天小编就为大家分享一篇用Python将mysql数据导出成json的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Python实现破解猜数游戏算法示例

    Python实现破解猜数游戏算法示例

    这篇文章主要介绍了Python实现破解猜数游戏算法,简单描述了猜数游戏的原理,并结合具体实例形式分析了Python破解猜数游戏的相关实现技巧,需要的朋友可以参考下
    2017-09-09
  • Python MD5加密实例详解

    Python MD5加密实例详解

    这篇文章主要介绍了Python MD5加密实例详解的相关资料,这里提供实现方法及实例,需要的朋友可以参考下
    2017-08-08
  • Python爬取三国演义的实现方法

    Python爬取三国演义的实现方法

    这篇文章通过实例给大家演示了利用python如何爬取三国演义,对于学习python的朋友们来说是个不错的实例,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2016-09-09
  • python装饰器decorator介绍

    python装饰器decorator介绍

    这篇文章主要介绍了python装饰器decorator介绍,decorator设计模式允许动态地对现有的对象或函数包装以至于修改现有的职责和行为,简单地讲用来动态地扩展现有的功能,需要的朋友可以参考下
    2014-11-11
  • python实现定制交互式命令行的方法

    python实现定制交互式命令行的方法

    这篇文章主要介绍了python实现定制交互式命令行的方法,需要的朋友可以参考下
    2014-07-07

最新评论