Ciao a tutti,
oggi vediamo come ottimizzare delle immagini PNG per ridurre lo spazio occupato con optipng.
Citando la descrizione del pacchetto debian... optipng è un ottimizzatore di PNG che ricomprime i file di immagini ad una dimensione minore. Riduce senza perdita la profondità, il tipo e la tavolozza dei colori dell'immagine; prova una serie di strategie e metodi di compressione per scegliere i parametri coi quali si ottiene come risultato il file più piccolo. Riconosce anche molti formati file esterni,
quali BMP, GIF, TIFF e PNM (PBM, PGM, PPM).
$ optipng -o9 *png
tramite questo comando andiamo ad ottimizzare tutti i files png presenti nella directory corrente.
Se volessimo ottimizzare tutto il contenuto di una directory e delle relative sottodirectory (in questo caso la directory corrente, ovvero la directory . punto), potremmo usare questo comando (-d '\n' dice a xargs che il delimitatore è il newline, ovvero a capo, per ovviare ad eventuali files contenenti spazi)
$ find . -iname '*.png' |xargs -d '\n' optipng -o9
Volendo esempio partire da /var/www
$ find /var/www -iname '*.png' |xargs -d '\n' optipng -o9
'*.png' è semplificabile in bash con *png
L'ottimizzazione varia da circa l'1% a, nei casi più fortunati, anche il 200%. È piuttosto pesante per la cpu. Con un set di 50 immagini casuali ho ottenuto una riduzione di spazio del 25% circa.
In un prossimo articoletto parleremo magari di "nuovi" e "vecchi" formati particolarmente indicati per il web.
Saluti da Giulio.