53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
from PIL import Image
|
|
import os
|
|
|
|
# 原始图片路径
|
|
original_image_path = r"e:\project\flutter\f3\flutter_application_2\assets\audios\IMG_20260402_170051.png"
|
|
|
|
# 输出目录
|
|
app_scope_dir = r"e:\project\flutter\f3\flutter_application_2\ohos\AppScope\resources\base\media"
|
|
entry_media_dir = r"e:\project\flutter\f3\flutter_application_2\ohos\entry\src\main\resources\base\media"
|
|
|
|
# 确保目录存在
|
|
os.makedirs(app_scope_dir, exist_ok=True)
|
|
os.makedirs(entry_media_dir, exist_ok=True)
|
|
|
|
try:
|
|
# 打开原始图片
|
|
with Image.open(original_image_path) as img:
|
|
print(f"原始图片尺寸: {img.size}")
|
|
|
|
# 调整为 288x288 用于 app_icon.png
|
|
img_288 = img.resize((288, 288), Image.Resampling.LANCZOS)
|
|
app_icon_path = os.path.join(app_scope_dir, "app_icon.png")
|
|
img_288.save(app_icon_path)
|
|
print(f"已保存 288x288 图标到: {app_icon_path}")
|
|
|
|
# 调整为 1024x1024 用于 entry 目录的图标
|
|
img_1024 = img.resize((1024, 1024), Image.Resampling.LANCZOS)
|
|
|
|
# 保存到 entry 目录
|
|
entry_icon_path = os.path.join(entry_media_dir, "icon.png")
|
|
img_1024.save(entry_icon_path)
|
|
print(f"已保存 1024x1024 图标到: {entry_icon_path}")
|
|
|
|
# 保存其他尺寸
|
|
sizes = [
|
|
(216, "icon_216.png"),
|
|
(48, "icon_48.png"),
|
|
(512, "icon_512.png"),
|
|
(72, "icon_72.png"),
|
|
(96, "icon_96.png"),
|
|
]
|
|
|
|
for size, filename in sizes:
|
|
resized_img = img.resize((size, size), Image.Resampling.LANCZOS)
|
|
output_path = os.path.join(entry_media_dir, filename)
|
|
resized_img.save(output_path)
|
|
print(f"已保存 {size}x{size} 图标到: {output_path}")
|
|
|
|
print("\n所有图标尺寸调整完成!")
|
|
|
|
except Exception as e:
|
|
print(f"处理图片时出错: {e}")
|