21 lines
522 B
Bash
Executable File
21 lines
522 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Builds .icns file from a single .png file
|
|
#
|
|
|
|
set -e
|
|
|
|
filename="${1%.*}"
|
|
mkdir "$filename".iconset
|
|
for i in 16 32 128 256 ; do
|
|
n=$(( i * 2 ))
|
|
sips -z $i $i "$1" --out "$filename".iconset/icon_${i}x${i}.png
|
|
sips -z $n $n "$1" --out "$filename".iconset/icon_${i}x${i}@2x.png
|
|
[[ $n -eq 512 ]] && \
|
|
sips -z $n $n "$1" --out "$filename".iconset/icon_${n}x${n}.png
|
|
(( i++ ))
|
|
done
|
|
cp "$1" "$filename".iconset/icon_512x512@2x.png
|
|
iconutil -c icns "$filename".iconset
|
|
rm -r "$filename".iconset
|