python之pillow是 Python 的第三方圖像處理庫。pillow是PIL( Python Imaging Library)基礎上發展起來的,發展至今,pillow已經成為了比 PIL 更具活力的圖像處理庫。Pillow 的初衷只是想作為 PIL 庫的分支和補充,如今它已是“青出於藍而勝於藍”。
pillow中文文檔 Pillow — Pillow (PIL Fork) 8.4.0 文檔
pip install pillow
【Python第三方模塊(庫、包)安裝、卸載與查看及常見問題解決,可參見https://blog.csdn.net/cnds123/article/details/104393385】
需要注意的是pillow庫安裝成功後,導包時要用PIL來導入,而不是用pillow【這裡使用 PIL 導入,但實際上使用的是 Pillow 庫,這裡的 PIL 可以看做是 Pillow 庫的簡稱】。如:
import PIL
from PIL import Image
打開圖片保存圖片的基本操作:
# 打開圖片
img = Image.open("d:\\image\\tp.jpg")
# 顯示圖片(執行顯示圖片後線程會中斷,關閉圖像後恢復)
img.show()
# 保存圖片
img.save(""d:\\image\\tp2.jpg")
PIL.ImageFont.truetype()函數從給定文件中加載字體對象,並為給定大小的字體創建一個字體對象。
下面給出示例代碼(所用圖片見附錄):
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
imageFile = "圖.jpg"
img=Image.open(imageFile)
draw = ImageDraw.Draw(img)
ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 20)
draw.text((30,30), u"測試文字",font = ft, fill = 'red')
ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 40)
draw.text((30,80), u"測試文字",font = ft, fill = 'green')
ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 60)
draw.text((30,150), u"測試文字",font = ft, fill = 'blue')
ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMLI.TTF", 40)
draw.text((30,220), u"測試文字",font = ft, fill = 'red')
ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\STXINGKA.TTF", 40)
draw.text((30,300), u"測試文字",font = ft, fill = 'purple')
img.show() #顯示
img.save("圖2.png") # 保存
運行效果:
Python往圖片覆蓋另一張圖片
paste函數的作用為將一張圖片覆蓋到另一張圖片的指定位置去,第一個參數指定要進行復制的圖像,第二個參數為二元或四元數組,用於指定粘貼位置的左上角坐標(和右下角坐標)。第三個作為可選參數mask可選范圍0-255,0表示透明粘貼,mask值越大粘貼透明度越低,255為不透明粘貼。
下面給出示例代碼(所用圖片見附錄):
from PIL import Image
from PIL import ImageDraw
img2 = Image.open("小圖.jpg")
img1 = Image.open("圖.jpg")
img1.paste(img2, (200, 100)) # 縱向拼接
img1.show() #顯示
img1.save("圖.jpg") # 保存
運行效果:
附錄
素材圖片如下: