Files
macm1new/create_icns.py

40 lines
1.3 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
import os
import subprocess
def create_iconset():
# 创建临时iconset目录
if not os.path.exists('icons/tmp.iconset'):
os.makedirs('icons/tmp.iconset')
# 定义需要的图标尺寸
icon_sizes = [16, 32, 64, 128, 256, 512, 1024]
for size in icon_sizes:
# 常规分辨率
output_path = f'icons/tmp.iconset/icon_{size}x{size}.png'
subprocess.run(['sips', '-s', 'format', 'png',
'-z', str(size), str(size),
'icons/logo.svg',
'--out', output_path],
check=True)
# 高分辨率(@2x
if size <= 512:
output_path = f'icons/tmp.iconset/icon_{size}x{size}@2x.png'
subprocess.run(['sips', '-s', 'format', 'png',
'-z', str(size*2), str(size*2),
'icons/logo.svg',
'--out', output_path],
check=True)
# 使用iconutil生成.icns文件
subprocess.run(['iconutil', '-c', 'icns', 'icons/tmp.iconset',
'-o', 'icons/logo.icns'],
check=True)
# 清理临时文件
subprocess.run(['rm', '-rf', 'icons/tmp.iconset'], check=True)
if __name__ == '__main__':
create_iconset()