AutoPercenty3/convert_icon.py

69 lines
2.6 KiB
Python

import os
from PIL import Image
import io
def create_proper_icon():
try:
# 기존 아이콘 파일 경로
original_icon_path = "AutoPercenty3.ico"
# 기존 아이콘 파일이 존재하는지 확인
if not os.path.exists(original_icon_path):
print("기존 아이콘 파일이 존재하지 않습니다.")
return False
# 아이콘 파일 백업
backup_icon_path = "AutoPercenty3_backup.ico"
if os.path.exists(original_icon_path):
import shutil
shutil.copy2(original_icon_path, backup_icon_path)
print(f"기존 아이콘 파일을 {backup_icon_path}로 백업했습니다.")
# 기존 아이콘 파일 읽기 시도
try:
img = Image.open(original_icon_path)
print(f"기존 아이콘 파일 정보: {img.format}, {img.size}, {img.mode}")
except Exception as e:
print(f"기존 아이콘 파일을 열 수 없습니다: {e}")
# 간단한 아이콘 생성
img = Image.new('RGBA', (256, 256), color=(73, 109, 137, 255))
# 아이콘 파일을 여러 크기로 저장
icon_sizes = [(16, 16), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)]
# 아이콘 이미지들을 저장할 리스트
icon_images = []
for size in icon_sizes:
# 원본 이미지를 다양한 크기로 리사이즈
resized_img = img.resize(size, Image.LANCZOS)
# 만약 이미지가 RGBA 형식이 아니라면 RGBA로 변환
if resized_img.mode != 'RGBA':
resized_img = resized_img.convert('RGBA')
# 리사이즈된 이미지를 리스트에 추가
icon_images.append(resized_img)
# 기존 ico 파일 삭제
if os.path.exists(original_icon_path):
os.remove(original_icon_path)
print(f"기존 아이콘 파일을 삭제했습니다: {original_icon_path}")
# 새로운 ico 파일 저장
icon_images[0].save(
original_icon_path,
format='ICO',
sizes=[(img.width, img.height) for img in icon_images],
append_images=icon_images[1:]
)
print(f"새로운 아이콘 파일이 성공적으로 생성되었습니다: {original_icon_path}")
return True
except Exception as e:
print(f"아이콘 변환 중 오류 발생: {e}")
return False
if __name__ == "__main__":
create_proper_icon()