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

admin Python評論333字數(shù) 1073閱讀模式

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

pip install Pillow

接下來,你可以使用以下代碼將PNG圖片轉(zhuǎn)換為128x128像素的ICO文件:

from PIL import Image
import io

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

# 打開PNG圖片
with Image.open(png_file) as img:
    # 確保圖片是正方形,如果不是,需要裁剪或填充
    width, height = img.size
    if width != height:
        # 選擇較小的尺寸作為邊長,居中裁剪
        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庫打開PNG圖片,然后檢查圖片的尺寸是否是正方形。如果不是,它會選擇較小的尺寸作為邊長,并居中裁剪圖片以使其成為正方形。接著,它會調(diào)整圖片尺寸為128x128像素,并將其保存為ICO格式。sizes=[(128, 128)]參數(shù)確保生成的ICO文件包含128x128像素的圖標(biāo)。

請注意,ICO格式通常用于Windows圖標(biāo),它可以包含多個不同尺寸的圖標(biāo)。在這個例子中,我們只生成了一個128x128像素的圖標(biāo)。如果你需要包含其他尺寸的圖標(biāo),你可以在sizes參數(shù)中添加更多的元組,例如sizes=[(16, 16), (32, 32), (48, 48), (128, 128)]。

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

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

發(fā)表評論

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

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