almeira-web/update_android_assets.py

68 lines
2.9 KiB
Python

import os
from PIL import Image
SPLASH_SRC = r"c:\Users\Carlos\dev\almeira-web\assets_generados\dripzone_splash_clean_1787718656035.jpg"
ICON_SRC = r"c:\Users\Carlos\dev\almeira-web\assets_generados\dripzone_app_icon_1787718672979.jpg"
RES_DIR = r"c:\Users\Carlos\dev\almeira-web\dripzone-app\android\app\src\main\res"
splash_img = Image.open(SPLASH_SRC).convert('RGBA')
icon_img = Image.open(ICON_SRC).convert('RGBA')
# Dimensiones estándar para Splash Screens en Android
splash_sizes = {
'drawable': (480, 800),
'drawable-port-mdpi': (320, 480),
'drawable-port-hdpi': (480, 800),
'drawable-port-xhdpi': (720, 1280),
'drawable-port-xxhdpi': (1080, 1920),
'drawable-port-xxxhdpi': (1440, 2560),
'drawable-land-mdpi': (480, 320),
'drawable-land-hdpi': (800, 480),
'drawable-land-xhdpi': (1280, 720),
'drawable-land-xxhdpi': (1920, 1080),
'drawable-land-xxxhdpi': (2560, 1440),
}
# Dimensiones para App Icons (Mipmaps)
icon_sizes = {
'mipmap-mdpi': 48,
'mipmap-hdpi': 72,
'mipmap-xhdpi': 96,
'mipmap-xxhdpi': 144,
'mipmap-xxxhdpi': 192,
}
print("-> Actualizando Splash Screens de DripZone con la imagen oficial...")
for folder, size in splash_sizes.items():
target_dir = os.path.join(RES_DIR, folder)
os.makedirs(target_dir, exist_ok=True)
target_path = os.path.join(target_dir, 'splash.png')
resized = splash_img.resize(size, Image.Resampling.LANCZOS)
resized.save(target_path, 'PNG')
print(f" [OK] {folder}/splash.png ({size[0]}x{size[1]})")
print("\n-> Actualizando Iconos de la Aplicacion (Launcher Icons con el logo DRIPZONE)...")
for folder, size in icon_sizes.items():
target_dir = os.path.join(RES_DIR, folder)
os.makedirs(target_dir, exist_ok=True)
resized_icon = icon_img.resize((size, size), Image.Resampling.LANCZOS)
resized_icon.save(os.path.join(target_dir, 'ic_launcher.png'), 'PNG')
resized_icon.save(os.path.join(target_dir, 'ic_launcher_round.png'), 'PNG')
resized_icon.save(os.path.join(target_dir, 'ic_launcher_foreground.png'), 'PNG')
print(f" [OK] {folder} ({size}x{size})")
# Actualizar en public/ de dripzone-app
public_dir = r"c:\Users\Carlos\dev\almeira-web\dripzone-app\public"
splash_img.resize((1080, 1920), Image.Resampling.LANCZOS).save(os.path.join(public_dir, 'splash.png'), 'PNG')
icon_img.resize((512, 512), Image.Resampling.LANCZOS).save(os.path.join(public_dir, 'icon.png'), 'PNG')
icon_img.resize((192, 192), Image.Resampling.LANCZOS).save(os.path.join(public_dir, 'icon-192.png'), 'PNG')
icon_img.resize((512, 512), Image.Resampling.LANCZOS).save(os.path.join(public_dir, 'logo.png'), 'PNG')
# Generar D-Emblem recortado para el Header Web (Fusión)
w, h = splash_img.size
crop_sq = splash_img.crop((125, 230, 645, 750)).resize((512, 512), Image.Resampling.LANCZOS)
crop_sq.save(os.path.join(public_dir, 'd-emblem.png'), 'PNG')
print("\n[EXITO] Splash Screen, Icono de Aplicacion y D-Emblem actualizados correctamente.")