web release
This commit is contained in:
59
crop_image.py
Normal file
59
crop_image.py
Normal file
@@ -0,0 +1,59 @@
|
||||
from PIL import Image
|
||||
import os
|
||||
|
||||
# 图片路径
|
||||
input_path = r"e:\project\flutter\f3\flutter_application_2\assets\IMG_20260402_172628.png"
|
||||
output_dir = r"e:\project\flutter\f3\flutter_application_2\assets"
|
||||
|
||||
# 打开图片
|
||||
img = Image.open(input_path)
|
||||
print(f"原始图片尺寸: {img.size}")
|
||||
print(f"原始图片模式: {img.mode}")
|
||||
|
||||
# 定义需要的尺寸(应用图标和启动图常见尺寸)
|
||||
sizes = [
|
||||
(1024, 1024), # iOS/macOS 主图标
|
||||
(512, 512), # 大图标
|
||||
(256, 256), # 中图标
|
||||
(128, 128), # 小图标
|
||||
(64, 64), # 更小图标
|
||||
(192, 192), # Android mipmap-xxhdpi
|
||||
(144, 144), # Android mipmap-xxxhdpi (96x1.5)
|
||||
(96, 96), # Android mipmap-xhdpi
|
||||
(72, 72), # Android mipmap-hdpi
|
||||
(48, 48), # Android mipmap-mdpi
|
||||
(216, 216), # HarmonyOS icon_xlarge
|
||||
(144, 144), # HarmonyOS icon_large
|
||||
(96, 96), # HarmonyOS icon
|
||||
(72, 72), # HarmonyOS icon_small
|
||||
]
|
||||
|
||||
# 裁剪为正方形(居中裁剪)
|
||||
width, height = img.size
|
||||
min_size = min(width, height)
|
||||
left = (width - min_size) // 2
|
||||
top = (height - min_size) // 2
|
||||
right = left + min_size
|
||||
bottom = top + min_size
|
||||
square_img = img.crop((left, top, right, bottom))
|
||||
print(f"裁剪后正方形尺寸: {square_img.size}")
|
||||
|
||||
# 保存正方形原图
|
||||
square_path = os.path.join(output_dir, "app_icon_square.png")
|
||||
square_img.save(square_path, "PNG")
|
||||
print(f"保存正方形原图: {square_path}")
|
||||
|
||||
# 生成各种尺寸
|
||||
for size in sizes:
|
||||
resized = square_img.resize(size, Image.Resampling.LANCZOS)
|
||||
output_path = os.path.join(output_dir, f"app_icon_{size[0]}x{size[1]}.png")
|
||||
resized.save(output_path, "PNG")
|
||||
print(f"保存: {output_path}")
|
||||
|
||||
# 保存为项目默认图标
|
||||
default_icon_path = os.path.join(output_dir, "app_icon_default.png")
|
||||
default_size = (512, 512)
|
||||
default_img = square_img.resize(default_size, Image.Resampling.LANCZOS)
|
||||
default_img.save(default_icon_path, "PNG")
|
||||
print(f"\n保存项目默认图标: {default_icon_path}")
|
||||
print("完成!")
|
||||
Reference in New Issue
Block a user