XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEWorkflow

【WinUI】XFE基于windows的工作流

公开
关注 0 Fork 0 Star 0
UTF-8
"""Package the generated transparent artwork into Windows icon asset sizes.

Only resampling, centering and format conversion are performed here.
Usage: python tools/package_icon.py
"""
from pathlib import Path
from PIL import Image

root = Path(__file__).resolve().parent.parent
source = Image.open(root / "docs/design/app-icon.png").convert("RGBA")
assets = root / "XFEWorkflow/XFEWorkflow/Assets"
source.resize((256, 256), Image.Resampling.LANCZOS).save(assets / "icon.png")
source.save(assets / "appicon.ico", sizes=[(s, s) for s in (16, 20, 24, 32, 40, 48, 64, 128, 256)])
for name, width, height, size in [
    ("Square150x150Logo.scale-200.png", 300, 300, 300),
    ("Square44x44Logo.scale-200.png", 88, 88, 88),
    ("Square44x44Logo.targetsize-24_altform-unplated.png", 24, 24, 24),
    ("StoreLogo.png", 50, 50, 50),
    ("LockScreenLogo.scale-200.png", 48, 48, 48),
    ("Wide310x150Logo.scale-200.png", 620, 300, 260),
    ("SplashScreen.scale-200.png", 1240, 600, 320),
]:
    canvas = Image.new("RGBA", (width, height), (0, 0, 0, 0))
    icon = source.resize((size, size), Image.Resampling.LANCZOS)
    canvas.alpha_composite(icon, ((width - size) // 2, (height - size) // 2))
    canvas.save(assets / name)
print("Packaged transparent PNG assets and multi-resolution ICO.")