基于python使用Pillow做动态图在图中生成二维码以及图像处理
作者:车厘子@ 发布时间:2022-12-29 16:33:03
标签:python,Pillow,动态图,图像,处理
1.什么是Pillow
首先我们需要了解一下PIL
(Python Imaging Library),它是Python2中非常强大的图像处理标准库,但只支持到Python2.7。Pillow是在PIL的基础上创建了兼容的版本,支持最新Python 3.x,又加入了许多新特性。
安装:
pip install pillow
其中Image
是pillow
库的一个常用的模块,提供了很多图片处理的方法。
2.pillow图像处理的简单使用
图片信息显示
from PIL import Image # 操作图片的类型
# 加载图片
image = Image.open('test1.jpg')
# 打开图片
# image.show()
# 查看图像大小(宽度,高度)(6621, 4414)
print(image.size)
# # 获取模式
print(image.mode) # RGB
#
# # 显示的文件的格式 JPEG
print(image.format)
#
# # 图片的详细信息{'jfif': 257, nsity': (72, 72......),
print(image.info)
#
# # 保存为另一张图片(可以更改图片的格式)
image.save('test2.bmp')
修改图片尺寸
from PIL import Image, ImageFilter
# 读取图片
image = Image.open('test.jpg')
print(image.size)
# 修改图片的尺寸,以像素为单位)以二元组表示:(宽度,高度)
image1 = image.resize((image.size[0]//3, image.size[1]//3))
#
image1.show()
# #
# 保存下来
image1.save('test.jpg')
裁剪旋转图片
from PIL import Image, ImageFilter
# 读取图片
image = Image.open('test1.jpg')
# 裁剪图片
# 设置一个边缘间距[left, upper, right, lower] 左上角和右下角
image1 = image.crop(box=(0, 0, 2000, 2000)) # 600 * 336
image1.show()
# 图片旋转
image2 = image.rotate(45)
image2.show()
为图片添加水印
可以为一张图片加上二维码:
from PIL import Image
# 读取图片
image = Image.open('test.jpg')
# 读取粘贴的图片
paste_image = Image.open('erweima.jpg')
如果需要粘贴的图片较大,可以通过resize()修改一下尺寸
image.paste(paste_image) # 默认把图片粘贴到左上角
image.show()
from PIL import Image
# 读取图片
image = Image.open('test.jpg')
# 读取粘贴的图片
paste_image = Image.open('erweima.jpg')
# 也可以指定需要粘贴的位置 设置二维码位置为右下角
position = (image.size[0] - paste_image.size[0], image.size[1] - paste_image.size[1])
image.paste(paste_image,position)
image.show()
image.save("syzp.jpg")
生成gif图片
from PIL import Image
images = []
for i in range(5):
im = Image.open('mkgif/{}.png'.format(i + 1))
images.append(im)
images[0].save("test.gif", save_all=True, loop=True, append_images=images[1:], duration=500)
上面是pillow
的一些简单使用感兴趣的铁汁萌可以自己动手试试看哦!
来源:https://blog.csdn.net/L010409/article/details/122603025
0
投稿
猜你喜欢
- 需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文
- 华丽的文本框演示首先看看演示结果:实现代码import matplotlib.pyplot as pltplt.text(0.8, 0.5,
- 保存为.py文件后 运行脚本在后面添加进程名称即可 比如:python proinfo.py qq 即可获取QQ的进程信息,注意不区分大小写
- 2009年2月24日,Safari 4.0 beta版正式发布,Safari从它的3.2版本开始就已经支持所有的CSS选择器(包括最新的CS
- 在获得网页响应对象res后,使用res.text属性可以获得网页源代码,但可能出现乱码!因为requests库会使用自动猜测的解码方式将抓取
- orm查询优化1)only与referonly方法返回的是一个queryset对象,本质就是列表套数据对象该对象内只含有only括号所指定的
- 1、首先,界面上有个按钮触发操作:<button type="button" class="layui-
- int connectDb() { EXEC SQL BEGIN DECLARE SECTION; char username[20]; c
- 本文实例讲述了Python实现繁體转为简体的方法。分享给大家供大家参考,具体如下:这里需要用到两个文件,可以点击此处本站下载源文件:zh_w
- Pycharm是一款很好用的python开发工具,开发Python爬虫和Python web方面都很不错这里我为大家提供了两种pycharm
- 现在因为已经安装了2.6的Python,以及支持2.6的Eric4,就不想再重新安装2.5来继续配置Apache下mod_python了。后
- 如何做一个自己的QQ?这不是什么新鲜的东西,看看代码:refresh.htm<HTML><HEAD><titl
- 写在前面:前一段时间 kejun 给我们培训JavaScript的时候,在幻灯片上推荐了很多特别经典的文章,其中就有这一篇。读过之后感觉很不
- 使用穷举法求两个数的最大公约数for m in range (0,2): a = int(input("
- 1.列表list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目。列表中的项目应该包括在方括号中,这样py
- 摘要: Portal是IT领域的新技术,是企业信息化工作的发展方向之一。本文首先介绍了Oracle Portal的定义、特点,接着阐述了po
- 本篇博客参考Keqi Zhang的文章“A Progressive Morphological Filter for Removing No
- 在学习tensorflow的过程中,有一个问题,tensorflow在训练的过程中读取的是二进制图像数据库文件,而不是图像文件,因此在进行训
- python版本:3.6+需要模块:flask,pillow需求:开发一个支持多格式图片上传的接口,并且将图片压缩,支持在线预览图片。目录结
- 简单介绍下:CSS 图片拼合 (CSS sprites) 可有效降低图片文件的 HTTP 连接请求数. 多个图片将以一定间距合并为一个大图片