png转换为icon
12 2025-09-03 14:27
import os
from PIL import Image
def create_directory(path):
"""创建目录(如果不存在)"""
if not os.path.exists(path):
os.makedirs(path)
print(f"创建目录:{path}")
else:
print(f"目录已存在:{path}")
def png_to_icon(png_path, icon_path, sizes=(64, 64)):
"""将单个 PNG 文件转换为 ICO 文件"""
try:
img = Image.open(png_path)
img.save(icon_path, format="ICO", sizes=[sizes])
print(f"成功将 {png_path} 转换为 {icon_path}")
except Exception as e:
print(f"转换失败:{png_path} -> {e}")
def batch_convert_png_to_icon(png_folder, icon_folder):
"""批量转换 PNG 文件夹中的所有 PNG 文件"""
# 创建目标文件夹
create_directory(icon_folder)
# 遍历 PNG 文件夹中的所有文件
for filename in os.listdir(png_folder):
if filename.lower().endswith(".png"):
png_path = os.path.join(png_folder, filename)
# 构造 ICO 文件路径
icon_filename = os.path.splitext(filename)[0] + ".ico"
icon_path = os.path.join(icon_folder, icon_filename)
# 转换 PNG 到 ICO
png_to_icon(png_path, icon_path)
print("批量转换完成!")
# 主程序
if __name__ == "__main__":
png_folder = "png" # PNG 文件夹路径
icon_folder = "icon" # ICO 文件夹路径
# 检查 PNG 文件夹是否存在
if not os.path.exists(png_folder):
print(f"错误:目录 {png_folder} 不存在,请确保该目录存在且包含 PNG 文件。")
else:
batch_convert_png_to_icon(png_folder, icon_folder)
全部评论