如何使用Python將PNG轉(zhuǎn)換為ICO_并且指定尺寸

admin Python評(píng)論352字?jǐn)?shù) 1073閱讀模式

在Python中,將PNG轉(zhuǎn)換為ICO并指定尺寸為128x128像素,你可以使用PIL(Python Imaging Library,也稱(chēng)為Pillow)庫(kù)來(lái)完成這個(gè)任務(wù)。首先,確保你已經(jīng)安裝了Pillow庫(kù),如果沒(méi)有安裝,你可以通過(guò)以下命令來(lái)安裝:

pip install Pillow

接下來(lái),你可以使用以下代碼將PNG圖片轉(zhuǎn)換為128x128像素的ICO文件:文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/11815.html

from PIL import Image
import io

# PNG文件路徑
png_file = 'example.png'
# 輸出ICO文件路徑
ico_file = 'example.ico'

# 打開(kāi)PNG圖片
with Image.open(png_file) as img:
    # 確保圖片是正方形,如果不是,需要裁剪或填充
    width, height = img.size
    if width != height:
        # 選擇較小的尺寸作為邊長(zhǎng),居中裁剪
        size = min(width, height)
        left = (width - size) // 2
        top = (height - size) // 2
        right = (width + size) // 2
        bottom = (height + size) // 2
        img = img.crop((left, top, right, bottom))
    
    # 調(diào)整圖片尺寸為128x128像素
    img = img.resize((128, 128))

    # 保存為ICO格式
    with io.BytesIO() as output:
        img.save(output, format='ICO', sizes=[(128, 128)])
        with open(ico_file, 'wb') as f:
            f.write(output.getvalue())

print(f'PNG file {png_file} has been converted to ICO file {ico_file} with 128x128 size.')

這段代碼首先使用Pillow庫(kù)打開(kāi)PNG圖片,然后檢查圖片的尺寸是否是正方形。如果不是,它會(huì)選擇較小的尺寸作為邊長(zhǎng),并居中裁剪圖片以使其成為正方形。接著,它會(huì)調(diào)整圖片尺寸為128x128像素,并將其保存為ICO格式。sizes=[(128, 128)]參數(shù)確保生成的ICO文件包含128x128像素的圖標(biāo)。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/11815.html

請(qǐng)注意,ICO格式通常用于Windows圖標(biāo),它可以包含多個(gè)不同尺寸的圖標(biāo)。在這個(gè)例子中,我們只生成了一個(gè)128x128像素的圖標(biāo)。如果你需要包含其他尺寸的圖標(biāo),你可以在sizes參數(shù)中添加更多的元組,例如sizes=[(16, 16), (32, 32), (48, 48), (128, 128)]。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/11815.html

如何使用Python將PNG轉(zhuǎn)換為ICO_并且指定尺寸文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/11815.html 文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/11815.html

版權(quán)聲明:文章圖片資源來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2024年4月18日 21:59:51
  • 轉(zhuǎn)載請(qǐng)務(wù)必保留本文鏈接:http://www.strong-digital.cn/11815.html
匿名

發(fā)表評(píng)論

匿名網(wǎng)友 填寫(xiě)信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: