基於python使用Pillow做動態圖在圖中生成二維碼以及圖像處理

1.什麼是Pillow

首先我們需要瞭解一下PIL(Python Imaging Library),它是Python2中非常強大的圖像處理標準庫,但隻支持到Python2.7。Pillow是在PIL的基礎上創建瞭兼容的版本,支持最新Python 3.x,又加入瞭許多新特性。

安裝:

pip install pillow

其中Imagepillow庫的一個常用的模塊,提供瞭很多圖片處理的方法。

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的一些簡單使用感興趣的鐵汁萌可以自己動手試試看哦!

到此這篇關於基於python使用Pillow做動態圖在圖中生成二維碼以及圖像處理的文章就介紹到這瞭,更多相關Pillow做動態圖在圖中生成二維碼以及圖像處理內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: