添加 convert_icon.py
This commit is contained in:
commit
f704cb4910
33
convert_icon.py
Normal file
33
convert_icon.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
from PIL import Image
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
def convert_to_minecraft_icon(input_path, output_path="server-icon.png"):
|
||||||
|
try:
|
||||||
|
with Image.open(input_path) as img:
|
||||||
|
# 将图片转为RGBA模式(确保透明度兼容性)
|
||||||
|
img = img.convert("RGBA")
|
||||||
|
|
||||||
|
# 获取最小边长,中心裁剪为正方形
|
||||||
|
min_side = min(img.size)
|
||||||
|
left = (img.width - min_side) // 2
|
||||||
|
top = (img.height - min_side) // 2
|
||||||
|
right = left + min_side
|
||||||
|
bottom = top + min_side
|
||||||
|
img_cropped = img.crop((left, top, right, bottom))
|
||||||
|
|
||||||
|
# 缩放为64x64像素
|
||||||
|
img_resized = img_cropped.resize((64, 64), Image.LANCZOS)
|
||||||
|
|
||||||
|
# 保存为PNG格式
|
||||||
|
img_resized.save(output_path, format="PNG")
|
||||||
|
print(f"✔ 成功生成 Minecraft 服务器图标: {output_path}")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"❌ 处理失败: {e}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print("用法: python convert_icon.py <输入图片路径>")
|
||||||
|
else:
|
||||||
|
convert_to_minecraft_icon(sys.argv[1])
|
Loading…
Reference in New Issue
Block a user