diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b1784e2..9f76f61 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ #FFF9C4 -> #FFD54F -> #FFB300 (bottom) + if ratio < 0.3: + # White to light lemon + t = ratio / 0.3 + r = int(255) + g = int(255 - (255 - 249) * t) + b = int(255 - (255 - 196) * t) + elif ratio < 0.7: + # Light lemon to golden yellow + t = (ratio - 0.3) / 0.4 + r = int(255) + g = int(249 - (249 - 213) * t) + b = int(196 - (196 - 79) * t) + else: + # Golden yellow to deep amber + t = (ratio - 0.7) / 0.3 + r = int(255) + g = int(213 - (213 - 179) * t) + b = int(79 - (79 - 0) * t) + + for x in range(canvas_size): + gradient.putpixel((x, y), (r, g, b, 255)) + + # Apply star mask to gradient + star_colored = Image.new('RGBA', (canvas_size, canvas_size), (0, 0, 0, 0)) + star_colored.paste(gradient, (0, 0), star_mask) + + # Subtle inner facets (diamond lines from center to outer/inner points) + facet_draw = ImageDraw.Draw(star_colored) + for i in range(num_points * 2): + pt = points[i] + if i % 2 == 0: + facet_draw.line([center, center, pt[0], pt[1]], fill=(255, 255, 255, 90), width=3) + else: + facet_draw.line([center, center, pt[0], pt[1]], fill=(200, 140, 0, 70), width=2) + + # Star outline + facet_draw.polygon(points, outline=(255, 255, 255, 180), width=4) + + # Composite star over canvas + img.paste(star_colored, (0, 0), star_colored) + + # Resize with Lanczos downsampling to target size + return img.resize((size, size), Image.Resampling.LANCZOS) + +def main(): + densities = { + 'android/app/src/main/res/mipmap-mdpi': 48, + 'android/app/src/main/res/mipmap-hdpi': 72, + 'android/app/src/main/res/mipmap-xhdpi': 96, + 'android/app/src/main/res/mipmap-xxhdpi': 144, + 'android/app/src/main/res/mipmap-xxxhdpi': 192, + } + + # Generate master 512x512 + master = create_star_icon(512) + master.save('scripts/app_icon_master.png') + print("Created scripts/app_icon_master.png (512x512)") + + for dir_path, sz in densities.items(): + os.makedirs(dir_path, exist_ok=True) + icon = create_star_icon(sz) + out_file = os.path.join(dir_path, 'ic_launcher.png') + icon.save(out_file, 'PNG') + print(f"Saved {out_file} ({sz}x{sz})") + +if __name__ == '__main__': + main()