diff --git a/tauri-app/src-tauri/icons/128x128.png b/tauri-app/src-tauri/icons/128x128.png index c5b7512..41b51d2 100644 Binary files a/tauri-app/src-tauri/icons/128x128.png and b/tauri-app/src-tauri/icons/128x128.png differ diff --git a/tauri-app/src-tauri/icons/128x128@2x.png b/tauri-app/src-tauri/icons/128x128@2x.png index 06925f3..5557101 100644 Binary files a/tauri-app/src-tauri/icons/128x128@2x.png and b/tauri-app/src-tauri/icons/128x128@2x.png differ diff --git a/tauri-app/src-tauri/icons/32x32.png b/tauri-app/src-tauri/icons/32x32.png index bd48544..a2f0521 100644 Binary files a/tauri-app/src-tauri/icons/32x32.png and b/tauri-app/src-tauri/icons/32x32.png differ diff --git a/tauri-app/src-tauri/icons/generate-icons.py b/tauri-app/src-tauri/icons/generate-icons.py index 8fe10c7..8695c59 100644 --- a/tauri-app/src-tauri/icons/generate-icons.py +++ b/tauri-app/src-tauri/icons/generate-icons.py @@ -4,6 +4,8 @@ from PIL import Image, ImageDraw import subprocess import os +import struct +import io # 配置 LOGO_PATH = "../../public/assets/logo.png" @@ -33,7 +35,8 @@ def generate_icon(size): # 加载并缩放 logo logo = Image.open(LOGO_PATH).convert("RGBA") logo_size = int(min(size) * LOGO_SCALE) - logo.thumbnail((logo_size, logo_size), Image.LANCZOS) + # 使用 resize 确保精确尺寸,避免 thumbnail 导致的尺寸偏差 + logo = logo.resize((logo_size, logo_size), Image.LANCZOS) # 居中绘制 logo x = (size[0] - logo.width) // 2 @@ -43,6 +46,36 @@ def generate_icon(size): return bg +def save_ico(images, sizes, filepath): + """手动构建多帧 ICO 文件(PIL 原生 save 不支持 append_images for ICO)""" + num_images = len(images) + # ICONDIR: Reserved(2) + Type(2) + Count(2) + header = struct.pack("