Skip to content

Instantly share code, notes, and snippets.

@andriitishchenko
Created June 11, 2023 06:12
Show Gist options
  • Save andriitishchenko/dcaf29727506c4bd14ffe107b2ae7351 to your computer and use it in GitHub Desktop.
Save andriitishchenko/dcaf29727506c4bd14ffe107b2ae7351 to your computer and use it in GitHub Desktop.
Icon generator script for custom icon sizes
#!/bin/sh
#
# Usage :
# ./gen_icon.sh images/icon-512.png "icon-" "10 25"
# Output:
# out_icons/icon-10.png
# out_icons/icon-25.png
source_image="$1"
out_name_prefix=${2:-"icon_"}
arr_defautl=( 16 32 64 128 256 512)
out_sizes=${3:-${arr_defautl[@]} }
outdir="out_icons"
rm -rf "${outdir}"
mkdir "${outdir}" 2>/dev/null
for size in ${out_sizes[@]}; do
sips -z "${size}" "${size}" "${source_image}" --out "${outdir}/${out_name_prefix}${size}.png" >/dev/null
done
ls -la "${outdir}"
# Example for iconset
# sips -z 16 16 Icon1024.png --out MyIcon.iconset/icon_16x16.png
# sips -z 32 32 Icon1024.png --out MyIcon.iconset/[email protected]
# sips -z 32 32 Icon1024.png --out MyIcon.iconset/icon_32x32.png
# sips -z 64 64 Icon1024.png --out MyIcon.iconset/[email protected]
# sips -z 128 128 Icon1024.png --out MyIcon.iconset/icon_128x128.png
# sips -z 256 256 Icon1024.png --out MyIcon.iconset/[email protected]
# sips -z 256 256 Icon1024.png --out MyIcon.iconset/icon_256x256.png
# sips -z 512 512 Icon1024.png --out MyIcon.iconset/[email protected]
# sips -z 512 512 Icon1024.png --out MyIcon.iconset/icon_512x512.png
# cp Icon1024.png MyIcon.iconset/[email protected]
# iconutil -c icns MyIcon.iconset
# rm -R MyIcon.iconset
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment