基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理
1.什么是Pillow
首先我們需要了解一下PIL
(Python Imaging Library),它是Python2中非常強大的圖像處理標(biāo)準庫,但只支持到Python2.7。Pillow是在PIL的基礎(chǔ)上創(chuàng)建了兼容的版本,支持最新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')
裁剪旋轉(zhuǎn)圖片
from PIL import Image, ImageFilter ? # 讀取圖片 image = Image.open('test1.jpg') # 裁剪圖片 # 設(shè)置一個邊緣間距[left, upper, right, lower] 左上角和右下角 image1 = image.crop(box=(0, 0, 2000, 2000)) # 600 * 336 image1.show() # 圖片旋轉(zhuǎn) 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') # 也可以指定需要粘貼的位置 設(shè)置二維碼位置為右下角 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
的一些簡單使用感興趣的鐵汁萌可以自己動手試試看哦!
到此這篇關(guān)于基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理的文章就介紹到這了,更多相關(guān)Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python讀寫修改Excel之xlrd&xlwt&xlutils
這篇文章主要介紹了python讀寫修改Excel之xlrd&xlwt&xlutils,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Python網(wǎng)絡(luò)請求使用Requests庫抓取解析數(shù)據(jù)
在網(wǎng)絡(luò)編程中,請求和接收數(shù)據(jù)是最常見的任務(wù)之一,Python的Requests庫提供了豐富的功能,使得HTTP請求變得非常簡單,在本文中,我們將了解如何使用Requests庫發(fā)起HTTP請求,并解析返回的數(shù)據(jù)2023-08-08Python基于unittest實現(xiàn)測試用例執(zhí)行
這篇文章主要介紹了Python基于unittest實現(xiàn)測試用例執(zhí)行,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11Python PyQt5實戰(zhàn)項目之網(wǎng)速監(jiān)控器的實現(xiàn)
PyQt5以一套Python模塊的形式來實現(xiàn)功能。它包含了超過620個類,600個方法和函數(shù)。它是一個多平臺的工具套件,它可以運行在所有的主流操作系統(tǒng)中,包含Unix,Windows和Mac OS。PyQt5采用雙重許可模式。開發(fā)者可以在GPL和社區(qū)授權(quán)之間選擇2021-11-11使用Python標(biāo)準庫中的wave模塊繪制樂譜的簡單教程
這篇文章主要介紹了使用Python標(biāo)準庫中的wave模塊繪制樂譜,涉及到了numpy模塊和坐標(biāo)的可視化運用,用到了需要的朋友可以參考下2015-03-03