一、基本概述
首先我們需要說明一下,img.save是Python中用於將圖片保存的一個函數。同時這個函數支持的格式多達30餘種,且可以保存多種模式下的圖片。
在PIL庫中,打開和保存文件通常使用的模式有以下幾種:
#打開圖片 from PIL import Image im = Image.open("lena.png") #保存圖片 im.save("lena_copy.jpg")
二、基本用法
img.save的基本用法就是在Image對象調用,使用起來也非常簡單:
from PIL import Image img = Image.open("example.png") # 以下是保存為jpg格式 img.save("example.jpg") # 以下保存為png格式 img.save("example.png") # 以下保存為tiff格式 img.save("example.tiff")
有了這個基本操作,我們就可以非常簡單地將圖片文件保存成我們需要的格式。
三、進階應用
1、保存帶有透明度的圖片
保存帶有透明度的圖片需要使用到alpha通道,通常我們會將透明度設為0來表示透明像素,設為255來表示完全不透明的像素。
from PIL import Image img = Image.open("example.png") # 將透明度設置為255 img.putalpha(255) # 將帶有透明度的圖片保存為png格式 img.save("new_example.png")
在這個例子中,我們首先將透明度設為了255,然後將圖片保存為png格式,這樣就可以將我們的圖片保存為帶有透明度的圖片了。
2、保存為webp格式
webp格式是一種穀歌開發的開源圖片格式,它的壓縮率比png高,同時保持了良好的圖片質量。
from PIL import Image img = Image.open("example.png") # 將圖片保存為webp格式 img.save("example.webp", "webp")
我們使用了參數“webp”來指定保存為webp格式,這樣就可以將我們的圖片保存為webp格式了。
3、保存為字節流
有時候我們不需要保存為文件,而是需要將圖片保存在內存中的字節流里。這時候我們可以使用io庫來實現這個功能。
from PIL import Image import io img = Image.open("example.png") # 將圖片保存為字節流 with io.BytesIO() as output: img.save(output, format="JPEG") data = output.getvalue() print(data)
在這個例子中,我們使用了BytesIO來保存我們的圖片為字節流,在保存的時候指定了圖片的格式為JPEG,這樣就可以將圖片保存在內存中的字節流里了。
4、調整圖片質量
有時候我們的圖片質量可能並不是特別理想,這時候我們可以調整圖片的質量來使圖片更清晰。PIL庫中可以使用參數“quality”來指定圖片的質量,取值範圍為0~100。
from PIL import Image img = Image.open("example.png") # 調整圖片質量為90 img.save("new_example.jpg", quality=90)
在這個例子中,我們調整了圖片的質量為90,保存後可以看到我們的圖片質量明顯得到了提升。
四、總結
img.save是Python中非常實用的一個函數,它可以方便地將我們的圖片保存為多種格式,同時也支持眾多進階應用,可以滿足各種不同的需求。我們希望這篇文章可以幫助您更好地了解img.save的使用方法,為您在Python開發中帶來更多的便利。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/191904.html