日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python使用pillow库往图片上写入文字或覆盖另一张图片

發布時間:2024/3/13 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python使用pillow库往图片上写入文字或覆盖另一张图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python使用pillow庫往圖片上寫入文字或覆蓋另一張圖片

python之pillow是 Python 的第三方圖像處理庫。pillow是PIL( Python Imaging Library)基礎上發展起來的,發展至今,pillow已經成為了比 PIL 更具活力的圖像處理庫。Pillow 的初衷只是想作為 PIL 庫的分支和補充,如今它已是“青出于藍而勝于藍”。

pillow中文文檔 Pillow — Pillow (PIL Fork) 8.4.0 文檔

pillow庫的安裝和使用

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")

Python實現圖片添加文字(水印)

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") # 保存

運行效果:

其它

圖片旋轉

示例源碼如下:

from PIL import Image img = Image.open("汽車.jpg") #打開圖片 img2 = img.rotate(45,expand=True) #旋轉,參數expand=True保證旋轉后的圖像完整顯示 img2.show() #顯示

運行效果:

?

濾鏡功能

示例源碼如下:

from PIL import Image from PIL import ImageFilter img = Image.open("汽車.jpg") img = img.filter(ImageFilter.CONTOUR) img.show()

運行效果:

?

圖片縮放

示例源碼如下:

from PIL import Image img = Image.open('汽車.jpg') w, h = img.size # 獲得圖像尺寸 img.thumbnail((w//2, h//2)) #縮放到50%: img.show() #顯示

運行效果:

?

附錄

素材圖片如下:

?OK

總結

以上是生活随笔為你收集整理的Python使用pillow库往图片上写入文字或覆盖另一张图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。