2021-06-02 10:24:22 +00:00
|
|
|
#!/usr/bin/env zsh
|
|
|
|
|
|
|
|
src="$1"
|
|
|
|
dst="$2"
|
|
|
|
|
2021-06-02 22:48:41 +00:00
|
|
|
sizeof() {
|
|
|
|
stat --format="%s" "$*"
|
|
|
|
}
|
|
|
|
|
2021-09-29 22:43:40 +00:00
|
|
|
|
|
|
|
convert "$src" -resize 800x800\> "$dst"
|
2021-06-02 22:48:41 +00:00
|
|
|
|
|
|
|
before=$(sizeof $src)
|
2021-09-29 22:43:40 +00:00
|
|
|
|
|
|
|
if [[ "${src:e}" == "gif" ]]; then
|
|
|
|
after=$(sizeof $dst)
|
2021-11-02 17:31:33 +00:00
|
|
|
dest=$dst
|
2021-09-29 22:43:40 +00:00
|
|
|
else
|
|
|
|
cwebp "$dst" -quiet -o "$dst.webp"
|
|
|
|
after=$(sizeof $dst.webp)
|
2021-11-02 17:31:33 +00:00
|
|
|
dest=$dst.webp
|
2021-09-29 22:43:40 +00:00
|
|
|
fi
|
|
|
|
|
2021-06-10 16:11:25 +00:00
|
|
|
|
|
|
|
if (( before <= after )); then
|
|
|
|
cp -f "$src" "$dst"
|
|
|
|
print -- "[0%] cp $before => $before"
|
|
|
|
else
|
|
|
|
gain=$(( ( (before - after) * 100 ) / before ))
|
|
|
|
print -- "[$gain%] convert $before => $after"
|
|
|
|
fi
|
|
|
|
|