python的pillow给图片加文字_Python-Pillow库给图片添加文字、水印
apt-get install -y python-PIL
在图片右下角添加文字:
Python
# -*- coding: utf-8 -*-
from PIL import Image, ImageDraw, ImageFont
# 指定要使用的字体和大小;/Library/Fonts/是macOS字体目录;Linux的字体目录是/usr/share/fonts/
font = ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSerif.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("uouo123.jpg")
im_before.show()
im_after = add_text_to_image(im_before, 'blog.uouo123.com')
im_after.show()
# im.save('im_after.jpg')
-------------------------------------------------------------
添加图片水印:
Python
# -*- coding: utf-8 -*-
from PIL import Image, 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("uouo123.jpg")
im_before.show()
im_watermark = Image.open("blog.jpg")
im_after = add_watermark_to_image(im_before, im_watermark)
im_after.show()
# im.save('im_after.jpg')
python的pillow给图片加文字_Python-Pillow库给图片添加文字、水印相关推荐
- vue本地项目配置图片加载失败_vue图片加载失败时用默认图片替换的方法
vue图片加载失败时用默认图片替换的方法 前言 本文主要给大家介绍的关于vue实现图片加载失败时用默认图片替换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 原理 ...
- 【转】Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
Fresco简单的使用-SimpleDraweeView 百学须先立志-学前须知: 在我们平时加载图片(不管是下载还是加载本地图片-..)的时候,我们经常会遇到这样一个需求,那就是当图片正在加载时应该 ...
- Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用](秒杀imageloader)...
Fresco简单的使用-SimpleDraweeView 百学须先立志-学前须知: 在我们平时加载图片(不管是下载还是加载本地图片-..)的时候,我们经常会遇到这样一个需求,那就是当图片正在加载时应该 ...
- Android LruCache和DiskLruCache相结合打造图片加载框架(仿微信图片选择,照片墙)
LrcCache和DiskLruCache相结合打造图片加载框架 转载请标明出处:http://blog.csdn.net/luoshishou/article/details/51299169 源码 ...
- 图片在canvas中显示,给canvas添加文字,文字描边,将canvas保存成图片下载到本地
Canvas简介 HTML5新增标签 Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitma ...
- Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
前半部分找不到原文链接了 后半部分原文链接:http://www.jianshu.com/p/5364957dcf49 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者" ...
- 苹果手机怎么在照片上添加文字_要给照片快速添加文字、图框、印章,用这款手机软件比较方便...
现在手机的拍照功能越来越先进,人们走到哪儿,都会随拍几张照片,那么,如何后期才能让照片更加的赏心悦目呢?主要从添加文字.漂亮的文字排版.添加相框.以及添加印章元素等几个方面去处理.比如像下面几张照片的 ...
- 视频添加文字用什么软件,视频添加文字怎么弄
随着plog.vlog等视频形式的兴起,视频添加文字变得越来越流行.与其选择插入音频解说,还不如加文字来得生动有趣.那么,视频添加文字用什么软件?视频添加文字怎么弄?接下来,本文会教大家使用一款简单好 ...
- python图片转换成文字_Python输出汉字字库及将文字转换为图片的方法
用python输出汉字字库问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢? 问题2:怎么把unicode编码的字写入文件呢,如果直接用open() ...
- python写gui导入图片并处理_Python图像处理库:Pillow 初级教程
Image类 Pillow中最重要的类就是Image,该类存在于同名的模块中.可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片. 使用Image模块中的open函数 ...
最新文章
- 没有任何基础学编程从哪开始_没有任何的绘画基础,该怎么学绘画?
- win10下gnuplot的安装和使用
- 网络配置命令优先级和元字符
- 图像降噪算法——稀疏表达:K-SVD算法
- Struts的MVC和Spring的MVC的区别
- oracle 12c dg新特性,oracle 12c:新特性-网格(Grid)基础架构的增强
- 树形结构:从二分查找,二叉搜索树寻找最近祖先,从递归到迭代,实现技巧总结
- c语言无法打开源文件xx.h,VS2015 + Qt5.9.2开发中无法打开源文件“ui_*.h” 和 error MSB6006: “cmd.exe”已退出,代码为 3之解决办法。...
- 海量数据处理分析(部分)
- linux应用程序安装PPT免费序,linux下应用程序安装的总结
- API接口的安全设计验证:ticket,签名,时间戳
- (三)MapReducer运行流程
- Mysql MMM 高可用
- SpringMVC教程
- 华为:行业危机时,只做一件事:抢人!
- Delphi窗体部分属性
- 【pytorch目标检测】FPN网络结构
- PHP生成二维码方法
- html可以转换wps嘛,如何将图文并茂的网页快速转换为WPS或word文档
- 劝学诗整理:安居不用架高堂,书中自有黄金屋。