今天同事认真地做了笔记发群里,然后调侃她应该加上水印,以示版权,于是小伙伴纷纷找起了图片软件,美图秀秀好像就可以。于是乎立刻想起来Python这么强大,应该可以处理,PIL(python imaging library)包安排上了。
PIL是一个强大的图像处理标准库,接口很方便,不过目前PIL只支持python 2.7版本,遗憾的是,python 2.7即将淘汰,不过没关系,我们的道友很贴心,创建了一个兼容版本pillow,可以应用于python 3.x版本,同时加入新的一些功能,不得不说,网络的力量很强大。有关PIL的教程可以看廖雪峰的官方网站
我们以下面这张图片为例,图片来源于百度网络

现在给这只猫咪加上水印,可以通过改变横纵坐标的大小来改变位置,同时颜色可以自己进行调。具体代码如下:

#导入包
from PIL import Image,ImageDraw,ImageFont
#图片路径,必须是当前目录下
imagefile="cat.jpg"
#打开图片
imageInfo=Image.open(imagefile)
#获取图片尺寸
print(imageInfo.size)
#设置图片水印的字体的字号
fontOne = ImageFont.truetype("‪C:\Windows\Fonts\simfang.ttf", 36)
fontTwo = ImageFont.truetype("‪C:\Windows\Fonts\simfang.ttf", 36)#创建Draw对象,用于之后绘制文字
draw=ImageDraw.Draw(imageInfo)
#设置水印文字的位置(x,y),文本,颜色,字体字号
draw.text((imageInfo.size[0] / 11, imageInfo.size[1] / 20), u"现在不想起床", fill=(255, 0, 0), font=fontOne)
draw.text((imageInfo.size[0] / 11, imageInfo.size[1] / 20 + 40), u"今天不想上班", fill=(20, 150, 200), font=fontTwo)
#图片预览
imageInfo.show()
#图片保存
imageInfo.save("catnew.jpg")

运行代码之后,就得到图片

上面是直接在图片上进行增加文字水印的操作,这种对于文字水印特别方便,但是还有一种,比如要给图片增加一些标志,就可以采用另一种拼接图片的操作,详见python为图片加水印 ,不过这个代码有点问题,应该改为

from PIL import Image
#创建底图
target = Image.new('RGBA', (300, 300), (0, 0, 0, 0))
#打开头像
nike_image = Image.open("moon.jpg")
nike_image = nike_image.resize((300, 300))
#打开装饰
hnu_image = Image.open("cat.jpg")
# 分离透明通道
r,g,b=hnu_image.split()
# 将头像贴到底图
nike_image.convert("RGBA")
target.paste(nike_image, (0,0))#将装饰贴到底图
hnu_image.convert("RGBA")
target.paste(hnu_image,(0,0))# 预览图片
target.show()

今天get一项新的技能,以后加水印分分钟的事!?

使用PIL包给图片增加水印相关推荐

  1. Android——为图片增加水印,并且保存到图库刷新

    为图片增加水印我们可以通过canvas来绘制,首先我们新创建一个工具类: object WaterMarkHelper {fun createWaterMaskBitmap(context: Acti ...

  2. 原生js-实现给图片增加水印

    使用原生js给图片增加水印 支持自定义 [ 水印旋转角度.字体大小.字体颜色.稠密度- ] 效果图 直接上代码(含注释) HTML代码 <img src="../images/birt ...

  3. 改造Kindeditor之:自定义图片上传插件。 外加给图片增加水印效果的选择。

    场景: 编辑部人士编辑文章时需要在文章中上传图片.但上传图片时需要增加是否增加水印的选择(有可能是自己公司的原创作品).所以需要改造Kindeditor . 1: 删除Kindeitor 默认的参数对 ...

  4. python图片加水印_怎么在照片上加水印-用Python实现给图片增加水印

    背景描述 在写文章的时候,经常需要用到一些图,为了访问被别人盗图,通常的做法是给图片添加水印. 本文分享如何使用python批量给图片添加水印. 界面展示 软件的界面如下: 软件的效果如下: 功能介绍 ...

  5. 【HALCON】给图片增加水印

    方式一:原始图像和水印图像相加 子函数:AddWaterMaker * 获取图像尺寸 get_image_size (Image, Width, Height)* 打开一个不可见的图像窗口 open_ ...

  6. SpingBoot/JAVA实现给图片加水印功能(通过thumbnailator库)

    前言 最近某项目有个加水印的需求,JAVA实现给已上传的图片增加水印并输出的功能,图片A+水印B=合成带水印缓存图片C(就是不需要保存到硬盘,不占用空间),目前网上的解决方案挺多但是挺乱,于是趁机整理 ...

  7. Java MultipartFile实现文件上传并为图片加上水印(二)

    防止走丢~~欢迎大家留言收藏点赞 在上一篇我们已经实现了文件的上传,那么如果对于图片的上传,我们要给图片加上我们需要的水印信息,比如图片的上传人,上传地点等信息,此时我们为上传功能再新增水印功能. 最 ...

  8. python图片增加半透明文字水印

    本次使用 python 的 PIL 库来对图像进行处理. 水印效果 代码如下 __author__ = "dengxinyan"from PIL import Image, Ima ...

  9. 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)

    javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...

最新文章

  1. ethtool修改网卡队列
  2. 打造Ubuntu下的SLAMP
  3. VTK:可编程滤波器用法实战
  4. CentOS7卸载并安装mysql教程
  5. 什么是CDN ,CDN的作用
  6. 四十一,java中Annotation详解
  7. matlab如何矩阵相除,Matlab中的矩阵除法有问题???
  8. 多个服务器数据互通_数据中心
  9. android gms包找不到,错误:包com.google.android.gms.appstate不存在
  10. pr cpu100%_PR插件Beauty Box安装教程
  11. hightopo学习之旅一 -- 节点动画
  12. 5000字 大数据时代读书笔记_大数据读书笔记3000字
  13. coon.php连接,CoonClient.php
  14. 微信公众号如何嵌入照片征集视频征集小程序
  15. 卸载 ibus 使Ubuntu16.04任务栏与桌面图标消失
  16. error LINK:1181 无法打开lib文件
  17. 墨水屏(电子纸)刷新模式
  18. windows黑客编程技术之隐藏技术(进程伪装,傀儡进程,进程隐藏)
  19. Windows使用msys+mingw编译imagemagick
  20. Celery:Optimizing

热门文章

  1. 五子棋对弈(Socket--【服务器】--联机)
  2. Window Flag 含义
  3. 匹配的通配符很全面,但无法找到元素mvc:annotation-driven的声明
  4. Android中DialogFragment自动弹出输入法
  5. UDP传输rtp数据包丢帧
  6. 饭后开车的不良习惯要改正
  7. 通过IP查找ip所对应网卡名
  8. 国企计算机技术岗都干什么,大家听说的国企技术岗都是什么样子的?
  9. ubuntu 批量改名
  10. ids for this class must be manually assigned before calling save()报错解决方法