文章目录

  • 前言
  • 一、素材准备
    • 1.原图
    • 2.水印图
  • 二、使用PIL库给图片添加图片水印
    • 1.引入库
    • 2.定义图片路径
    • 3.打开原图
    • 4.打开水印图片
    • 5.计算水印图片大小
    • 6.计算原图大小
    • 7.调整水印图片大小
      • 7.1调整前
      • 7.2调整后
    • 8.计算水印图片位置
      • 8.1左上
      • 8.2左下
      • 8.3右上
      • 8.4右下
      • 8.5中间
    • 9.添加水印
    • 10.保存新图
  • 总结

前言

大家好,我是空空star,本篇给大家分享一下通过Python的PIL库给图片添加图片水印。
上一篇已经介绍过了PIL库是什么?安装PIL 、查看PIL版本,这里就不再介绍了。


一、素材准备

1.原图

2.水印图

这里我去C站首页找了一个,看起来是不是很酷。

二、使用PIL库给图片添加图片水印

1.引入库

from PIL import Image

2.定义图片路径

local = '/Users/kkstar/Downloads/video/pic/'

3.打开原图

img = Image.open(local+'demo.jpg')

4.打开水印图片

watermark = Image.open(local+'csdn.png')

5.计算水印图片大小

wm_width, wm_height = watermark.size

6.计算原图大小

img_width, img_height = img.size

7.调整水印图片大小

7.1调整前

7.2调整后

wm_width = int(wm_width*1.5)
wm_height = int(wm_height*1.5)
watermark = watermark.resize((wm_width, wm_height))

8.计算水印图片位置

8.1左上

x = 5
y = 5

8.2左下

x = 5
y = img_height - wm_height - 5

8.3右上

x = img_width - wm_width - 5
y = 5

8.4右下

x = img_width - wm_width - 5
y = img_height - wm_height - 5

8.5中间

x = int((img_width - wm_width)/2)
y = int((img_height - wm_height)/2)

其他位置通过调整计算x、y的值即可。

9.添加水印

img.paste(watermark, (x, y), watermark)

10.保存新图

img.save(local+'result.jpg')

总结

  1. 使用PIL库打开需要添加水印的图片,可以使用open()函数。
  2. 使用PIL库打开水印图片,得到水印图像。可以使用上述同样的方式打开水印图片。
  3. 将水印图片添加到原始图片上,可以使用paste()函数。
  4. 保存添加水印后的图片,可以使用save()函数。

image.size:返回一个包含图片尺寸(宽度和高度)的元组。例如,对于一个400x300像素的图片,该方法返回(400, 300)。通过调用image.size方法,可以获取图像的大小信息并进行后续处理。
image.resize:可以用来调整图像的尺寸大小,同时还可以使用不同的插值方法来处理像素。通过指定待处理的图像尺寸和插值方法,可以实现对图像的缩放、裁剪、旋转等各种形式的变换。resize方法的语法为:image.resize(size, resample=None),其中size是一个二元组,表示新的图像尺寸,resample是插值方法,默认为None,表示使用最近邻插值。
image.paste:用于将一个图像粘贴到另一个图像上面,可以将水印图片嵌入到目标图片中。第9步中,第一个传入的是要粘贴的图像,第二个传入的是粘贴图像的左上角的坐标,第三个参数是要粘贴的图像的遮罩。
image.save:用于将图像保存为文件,可以指定图像格式、质量、压缩等参数。该方法支持多种图像格式,包括JPG、PNG、BMP等。同时可以通过参数来进行格式转换、大小调整等操作。

通过Python的PIL库给图片添加图片水印相关推荐

  1. python批量添加水印_利用Python的PIL库给照片批量加水印 – 摄影与挖洞

    出于无聊,用了半小时写(Copy)了一个给照片自动加水印的脚本.大概功能就是将特定照片在右下角添加时间.尺寸.GPS信息(无人机或者手机有)和版权信息.当然,还不够完善,有空了加上读取目录中所有JPG ...

  2. 通过Python的PIL库给图片添加马赛克

    文章目录 前言 一.Pillow是什么? 二.安装PIL库 三.查看PIL库版本 四.使用方法 1.引入库 2.定义图片路径 3.打开需要打马赛克的图片 4.获取图片尺寸 5.创建一个新的图片对象 6 ...

  3. Python之PIL之绘图:基于Python的PIL库绘制各种图形、添加文字等

    Python之PIL之绘图:基于Python的PIL库绘制各种图形.添加文字等 目录 一.绘制各种形状各种案例 1.绘制矩形 2.绘制圆形.弧线形

  4. 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)

    文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...

  5. 使用python中PIL库进行切图时候出现了图片全黑

    使用PIL的Image切图时候图片全黑 不知道大家有没有遇见这样得问题,使用python中PIL库进行切图时候出现了图片全黑得现象 今天写了个切图得代码,但是得到得图片是全黑的,像这样的情况: 不知道 ...

  6. python 用PIL库缩放图片并保存

    python 用PIL库缩放图片并保存 PIL库安装 pip install pillow 单个图片缩放 from PIL import Imageimagepath = r'.\img\number ...

  7. 一、python+PIL给图片添加文字水印

    python+PIL给图片添加文字水印 最近需要给同一张图片添加不同的水印保存,在网上搜了很多,也不是很有效,在这儿记录一下我运行正确无误的代码,方便自己以后查看: #读取文件每一行,写到图片中间位置 ...

  8. db2top详细使用方法_Py之PIL:Python的PIL库的简介、安装、使用方法详细攻略

    Py之PIL:Python的PIL库的简介.安装.使用方法详细攻略 目录 PIL库的简介 PIL库的安装 PIL库的用方法 1.几何图形的绘制与文字的绘制 2.绘制图形的各种案例 PIL库的简介 PI ...

  9. Py之PIL:Python的PIL库的简介、安装、使用方法详细攻略

    Py之PIL:Python的PIL库的简介.安装.使用方法详细攻略 目录 PIL库的简介 PIL库的安装 PIL库的用方法 1.几何图形的绘制与文字的绘制 2.绘制图形的各种案例 PIL库的简介 PI ...

最新文章

  1. Qt Creator 插件开发(1):编译 Qt Creator
  2. AI公开课:18.05.16 周明博士(MSRA副院长)—北大AI第十一讲之《语言智能的进展》课堂笔记——你了解语言智能
  3. python 存入数据库bigint_【Python】从0开始写爬虫——把扒到的豆瓣数据存储到数据库...
  4. 【转】解决多文件编译中连接错误 multiple definition of*****
  5. 1835财务报表分析
  6. 宁德时代811电芯初现真容 搭配宝马X1混动汽车能量密度提升近6成
  7. c++ primer 6.3.3节练习答案
  8. html的个人简历边框,怎样制作简历模板边框
  9. Vue脚手架创建项目报错 ERROR command failed: npm install --loglevel error --legacy-peer-deps
  10. bzoj1911【APIO2010】特别行动队
  11. 绕线画 钉子画 勾线画 自动设计软件源码
  12. 百度AI攻略:银行卡识别
  13. 【调剂】985电子科技大学2020年信息与软件工程学院硕士研究生复试调剂办法(第二批)...
  14. zlibirary官网入口全新获取方式,zlibirary最新地址检测
  15. python测试开发django-122.bootstrap模态框(modal)学习
  16. 8051单片机的内核的结构及运行过程解析
  17. python计算正方形面积_递归求正方形的面积
  18. 【算法竞赛模板】质因子、质数、约数、余数、快速幂(数论大全)
  19. 在Arcgis中如何使用河网提取对应流域边界数据
  20. 人为什么要努力?编程、学习之路…很迷茫?个人经验分享

热门文章

  1. 为什么软考高项考了很多次还没通过?
  2. Machine Learning in Action 读书笔记---第4章 基于概率论的分类方法:朴素贝叶斯
  3. android Tv盒子开发 焦点
  4. h5页面和app进行交互
  5. 2019年动漫游戏行业发展怎么样?南京新华电脑学动漫游戏怎么样?
  6. Hands On Machine Learning with Scikit Learn and TensorFlow(第十章)
  7. 【漏洞修复】自定义实现的X509TrustManager子类中..
  8. 国计算机信息高新技术考试办公软件应用模块高级操作员级考试,全国计算机信息高新技术考试办公软件应用模块高级操作员级考试考试大纲.doc...
  9. 获取百度地图中的县级以上行政区域的边界数据
  10. typeScript基础(1)_原始数据类型学习