Skuteczna i sprawna kompresja plików PNG za pomocą narzędzia pngquant

Czy da się szybko wygenerować zestaw skompresowanych grafik na podstawie źródłowego pliku PNG? Oczywiście. Linuksowe narzędzie pngquant sprawdzi się w takim zadaniu wyśmienicie.

Oto prosty skrypt bash (wykorzystujący kalkulator bc do przedstawienia procentowego zysku z kompresji):

rozmiar_0=$(stat --printf="%s" $1)
printf " %-24s %s " $1
printf "%6.01f" 0
echo %
printf '%s\n' ' ---------------------------------'
in=$(echo $1 | rev | cut -f 2- -d '.' | rev)
for i in 2 4 8 16 32 64 128 256; do
k=$in-$i.png
`pngquant $i -f -o $k $1`
rozmiar_k=$(stat --printf="%s" $k)
iloraz=$(bc -l <<< 100-100*$rozmiar_k/$rozmiar_0)
iloraz=$(echo $iloraz | sed 's/\./,/')
printf " %-24s %s " $k
printf "%6.01f" $iloraz
echo %
done

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *