- 保存脚本到本地 icon_converter.py
- input_folder = r"C:\Users\EDY\Pictures\png"将本地存放图片文件夹路径替换
- output_folder = r"C:\Users\EDY\Pictures\ico" # 输出ICO图标的文件夹路径替换
- pip install pillow
- python icon_converter.py
- 即可实现批量转换图片到ico,支持’.png’, ‘.jpg’, '.jpeg’一键转换成ico
import os
from PIL import Image
def convert_to_ico(input_path, output_path, sizes=[(16, 16), (32, 32), (48, 48), (64, 64), (128, 128)]):
"""
将图片转换为ICO格式
:param input_path: 输入图片路径
:param output_path: 输出ICO路径
:param sizes: 需要生成的尺寸列表
"""
try:
img = Image.open(input_path)
img.save(output_path, format='ICO', sizes=sizes)
print(f"成功转换: {input_path} -> {output_path}")
except Exception as e:
print(f"转换失败 {input_path}: {str(e)}")
def batch_convert(input_dir, output_dir, extensions=['.png', '.jpg', '.jpeg']):
"""
批量转换目录中的图片为ICO
:param input_dir: 输入目录
:param output_dir: 输出目录
:param extensions: 支持的图片扩展名
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for filename in os.listdir(input_dir):
if any(filename.lower().endswith(ext) for ext in extensions):
input_path = os.path.join(input_dir, filename)
output_path = os.path.join(output_dir, os.path.splitext(filename)[0] + '.ico')
convert_to_ico(input_path, output_path)
if __name__ == '__main__':
input_folder = r"C:\Users\EDY\Pictures\png"
output_folder = r"C:\Users\EDY\Pictures\ico"
print("开始批量转换图片为ICO格式...")
batch_convert(input_folder, output_folder)
print("批量转换完成!")

