仓库初始化
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env python3
|
||||
"""将 PNG 图标转换为 ICO 格式"""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
def convert_png_to_ico():
|
||||
"""将 icon.png 转换为 icon.ico"""
|
||||
try:
|
||||
from PIL import Image
|
||||
except ImportError:
|
||||
print("需要安装 Pillow: pip install Pillow")
|
||||
return False
|
||||
|
||||
# 优先使用运行目录下的 icon 目录
|
||||
cwd_icon = Path.cwd() / 'icon'
|
||||
if (cwd_icon / 'icon.png').exists():
|
||||
icon_dir = cwd_icon
|
||||
elif (Path.cwd() / 'src' / 'icon' / 'icon.png').exists():
|
||||
icon_dir = Path.cwd() / 'src' / 'icon'
|
||||
else:
|
||||
icon_dir = Path(__file__).parent
|
||||
png_path = icon_dir / 'icon.png'
|
||||
ico_path = icon_dir / 'icon.ico'
|
||||
|
||||
if not png_path.exists():
|
||||
print(f"找不到 PNG 文件: {png_path}")
|
||||
return False
|
||||
|
||||
try:
|
||||
# 打开 PNG 图像
|
||||
img = Image.open(png_path)
|
||||
|
||||
# 转换为 RGBA 模式(如果不是的话)
|
||||
if img.mode != 'RGBA':
|
||||
img = img.convert('RGBA')
|
||||
|
||||
# 创建多尺寸的 ICO 文件
|
||||
sizes = [(16, 16), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)]
|
||||
icons = []
|
||||
|
||||
for size in sizes:
|
||||
resized = img.resize(size, Image.Resampling.LANCZOS)
|
||||
icons.append(resized)
|
||||
|
||||
# 保存为 ICO
|
||||
icons[0].save(ico_path, format='ICO', sizes=[(s[0], s[1]) for s in sizes])
|
||||
|
||||
print(f"已生成 ICO 文件: {ico_path}")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"转换失败: {e}")
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
convert_png_to_ico()
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 652 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
Reference in New Issue
Block a user