Files
Expensso/generate-app-icons
Arkaprabha Chakraborty 04a2a430cc feat: beautify the UI
2026-03-01 15:13:07 +05:30

46 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
ICON="assets/app-icon.png"
# Android icons
for d in mdpi:48 hdpi:72 xhdpi:96 xxhdpi:144 xxxhdpi:192; do
density="${d%%:*}"
size="${d##*:}"
out_dir="android/app/src/main/res/mipmap-${density}"
round_icon="${out_dir}/ic_launcher_round.png"
sips -z "$size" "$size" "$ICON" \
--out "${out_dir}/ic_launcher.png" >/dev/null
sips -z "$size" "$size" "$ICON" \
--out "$round_icon" >/dev/null
# Proper circular crop with preserved transparency (ImageMagick)
if command -v magick >/dev/null 2>&1; then
magick "$round_icon" \
-alpha set -background none \
\( -size ${size}x${size} xc:none \
-fill white -draw "circle $((size/2)),$((size/2)) $((size/2)),1" \) \
-compose CopyOpacity -composite \
"$round_icon"
else
echo "Warning: ImageMagick not found; skipping circular crop for $round_icon" >&2
fi
done
# iOS icons
OUT="ios/Expensso/Images.xcassets/AppIcon.appiconset"
sips -z 40 40 "$ICON" --out "$OUT/Icon-20@2x.png" >/dev/null
sips -z 60 60 "$ICON" --out "$OUT/Icon-20@3x.png" >/dev/null
sips -z 58 58 "$ICON" --out "$OUT/Icon-29@2x.png" >/dev/null
sips -z 87 87 "$ICON" --out "$OUT/Icon-29@3x.png" >/dev/null
sips -z 80 80 "$ICON" --out "$OUT/Icon-40@2x.png" >/dev/null
sips -z 120 120 "$ICON" --out "$OUT/Icon-40@3x.png" >/dev/null
sips -z 120 120 "$ICON" --out "$OUT/Icon-60@2x.png" >/dev/null
sips -z 180 180 "$ICON" --out "$OUT/Icon-60@3x.png" >/dev/null
sips -z 1024 1024 "$ICON" --out "$OUT/Icon-1024.png" >/dev/null
echo "Icons generated!"