parent
77b2e26c67
commit
803026b9e9
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
abs() {
|
||||||
|
[[ $[ $@ ] -lt 0 ]] && echo "$[ ($@) * -1 ]" || echo "$[ $@ ]"
|
||||||
|
}
|
||||||
|
|
||||||
|
DIMS=( $(identify "${1}" | cut -d\ -f3 | sed "s/x/ /g") )
|
||||||
|
PWRS=( 16 32 128 256 512 1024 )
|
||||||
|
|
||||||
|
for PWR in ${PWRS[@]}; do
|
||||||
|
WIDEDIFS+=( $(abs "${DIMS[0]}-${PWR}") )
|
||||||
|
HITEDIFS+=( $(abs "${DIMS[1]}-${PWR}") )
|
||||||
|
done
|
||||||
|
|
||||||
|
IFS=$'\n'
|
||||||
|
WIDESORT=( $(sort -n <<<"${WIDEDIFS[*]}"))
|
||||||
|
HITESORT=( $(sort -n <<<"${HITEDIFS[*]}"))
|
||||||
|
unset IFS
|
||||||
|
|
||||||
|
for SIZE in $((DIMS[0] - WIDESORT[0])) $((DIMS[0] + WIDESORT[0])); do
|
||||||
|
(( SIZE > 0 && (SIZE & (SIZE - 1)) == 0 )) && RESIZE=${SIZE}
|
||||||
|
done
|
||||||
|
|
||||||
|
set -x
|
||||||
|
convert "${1}" -resize ${RESIZE}x${RESIZE} /tmp/tmp.png
|
||||||
|
png2icns ${1/%png/icns} /tmp/tmp.png
|
||||||
|
rm /tmp/tmp.png
|
Loading…
Reference in new issue