Python如何为图片添加水印


Posted in Python onNovember 25, 2016

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

Python如何为图片添加水印

添加图片水印

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中循环语句的嵌套使用
May 14 Python
在Python中用get()方法获取字典键值的教程
May 21 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
python爬取亚马逊书籍信息代码分享
Dec 09 Python
Python中Proxypool库的安装与配置
Oct 19 Python
Python Flask框架模板操作实例分析
May 03 Python
Django分页功能的实现代码详解
Jul 29 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
Python设计密码强度校验程序
Jul 30 Python
python 三种方法实现对Excel表格的读写
Nov 19 Python
手残删除python之后的补救方法
Jun 26 Python
Python pass详细介绍及实例代码
Nov 24 #Python
Python脚本实时处理log文件的方法
Nov 21 #Python
深入理解 Python 中的多线程 新手必看
Nov 20 #Python
详解python的数字类型变量与其方法
Nov 20 #Python
python中异常报错处理方法汇总
Nov 20 #Python
详解MySQL数据类型int(M)中M的含义
Nov 20 #Python
python制作websocket服务器实例分享
Nov 20 #Python
You might like
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
常见的jQuery选择器汇总
2014/11/24 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
Python常用知识点汇总
2016/05/08 Python
Python2包含中文报错的解决方法
2018/07/09 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
爱游人:Travelliker
2017/09/05 全球购物
英文版银行求职信
2013/10/09 职场文书
yy结婚证婚词
2014/01/10 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
物流业务员岗位职责
2015/04/03 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书