安装Pillow库

pip install Pillow

编写脚本

请将以下代码保存到一个文件,例如 png2ico.py

原始字符串: 在 Windows 路径中使用反斜杠时,通过在字符串前面添加 r 来使其成为原始字符串,避免反斜杠被解释为转义字符。

import os
from PIL import Image

def convert_png_to_multiple_ico(png_path, sizes=[16, 32, 48, 64, 128, 256]):
    """
    将 PNG 图像转换为多个尺寸的 ICO 图标,并将它们保存在 /ico 文件夹中。如果文件夹不存在,则创建它。

    :param png_path: PNG 图像的路径。
    :param sizes: ICO 图标需要包含的尺寸,默认为 16, 32, 48, 64, 128, 256。
    """
    # 获取文件名和扩展名
    filename = os.path.splitext(os.path.basename(png_path))[0]
    
    # 目标文件夹路径
    ico_folder = os.path.join(os.path.dirname(png_path), 'ico')
    
    # 如果目标文件夹不存在,则创建它
    if not os.path.exists(ico_folder):
        os.makedirs(ico_folder)
        
    try:
        # 打开 PNG 图像
        img = Image.open(png_path)
    except FileNotFoundError:
        print(f"找不到文件: {png_path}")
        return
    except Exception as e:
        print(f"打开文件时出错: {e}")
        return
    
    # 生成并保存多个尺寸的 ICO 图标
    for size in sizes:
        # 调整图像大小
        resized_img = img.resize((size, size), Image.LANCZOS)
        
        # 生成 ICO 文件路径
        ico_path = os.path.join(ico_folder, f'{filename}_{size}x{size}.ico')
        
        # 保存 ICO 文件
        resized_img.save(ico_path, format='ICO')
        print(f"转换成功! {size}x{size} 尺寸的 ICO 图标已保存到: {ico_path}")

if __name__ == "__main__":
    png_path = input("请输入 PNG 图片的路径: ")
    convert_png_to_multiple_ico(png_path)
    input("按任意键关闭程序...")

运行

在终端或双击运行:

python png2ico.py

这样,输入PNG 图片地址, PNG 图片会被转换成多个不同尺寸的 ICO 文件,并储存在 /ico 文件夹中,每个尺寸会生成一个单独的 ICO 文件。

最后修改:2024 年 07 月 18 日
如果觉得我的文章对你有用,请随意赞赏