如何利用python给图片添加半透明水印


Posted in Python onSeptember 06, 2019

前言

本文主要给大家介绍了关于python图片添加半透明水印的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

示例代码:

# coding:utf-8

from PIL import Image, ImageDraw, ImageFont


def add_text_to_image(image, text):
 font = ImageFont.truetype('C:\Windows\Fonts\STXINGKA.TTF', 36)

 # 添加背景
 new_img = Image.new('RGBA', (image.size[0] * 3, image.size[1] * 3), (0, 0, 0, 0))
 new_img.paste(image, image.size)

 # 添加水印
 font_len = len(text)
 rgba_image = new_img.convert('RGBA')
 text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))
 image_draw = ImageDraw.Draw(text_overlay)

 for i in range(0, rgba_image.size[0], font_len*40+100):
  for j in range(0, rgba_image.size[1], 200):
   image_draw.text((i, j), text, font=font, fill=(0, 0, 0, 50))
 text_overlay = text_overlay.rotate(-45)
 image_with_text = Image.alpha_composite(rgba_image, text_overlay)

 # 裁切图片
 image_with_text = image_with_text.crop((image.size[0], image.size[1], image.size[0] * 2, image.size[1] * 2))
 return image_with_text


if __name__ == '__main__':
 img = Image.open("test.jpg")
 im_after = add_text_to_image(img, u'测试使用')
 im_after.save(u'测试使用.png')

效果图:

如何利用python给图片添加半透明水印

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Pyinstaller将py打包成exe的实例
Mar 31 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
python 默认参数相关知识详解
Sep 18 Python
Python time库基本使用方法分析
Dec 13 Python
PyTorch中反卷积的用法详解
Dec 30 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 Python
Python将CSV文件转化为HTML文件的操作方法
Jun 30 Python
Python实现为PDF去除水印的示例代码
Apr 03 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 #Python
Python常用数据类型之间的转换总结
Sep 06 #Python
Python3 JSON编码解码方法详解
Sep 06 #Python
PYTHON EVAL的用法及注意事项解析
Sep 06 #Python
Python实现微信机器人的方法
Sep 06 #Python
Linux下通过python获取本机ip方法示例
Sep 06 #Python
django-crontab 定时执行任务方法的实现
Sep 06 #Python
You might like
PHP 选项及相关信息函数库
2006/12/04 PHP
php学习笔记之 函数声明(二)
2011/06/09 PHP
PHP设置图片文件上传大小的具体实现方法
2013/10/11 PHP
php提高网站效率的技巧
2015/09/29 PHP
php实现微信企业转账功能
2018/10/02 PHP
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
python实现决策树分类
2018/08/30 Python
Python阶乘求和的代码详解
2020/02/14 Python
Python 定义只读属性的实现方式
2020/03/05 Python
快速一键生成Python爬虫请求头
2021/03/04 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
C语言编程练习
2012/04/02 面试题
《跨越百年的美丽》教学反思
2014/02/11 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
承诺书格式
2014/06/03 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
学校体育节班级口号
2015/12/25 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL