Creare thumbnail con ImageMagick
GD (con la sua estensione per PHP) è un tool utilissimo per creare thumbnail “al volo”.
Ma nel caso avessimo necessità di ridimensionare un gran quantitativo di immagini e di creare le miniature prima della pubblicazione risulterebbe sicuramente più utile usare ImageMagick e in particolare il comando convert.
convert -colorspace RGB -thumbnail x200 file_di_partenza.tif thumbnail.jpg
Il comando è quasi auto-esplicatvo:
- -colorspace serve a specificare il colorspace del thumbnail che vogliamo creare, RGB, GRAY, CMYK, etc. Se vogliamo creare delle miniature per il web partendo da delle immagini ad alta definizione che fanno uso della cromia CMYK ricordiamoci di specificare RGB come colorspace altrimenti risulteranno illeggibili con alcuni browser.
- -thumbnail x200 crea un miniatura di 200px di altezza. Per specificare la larghezza al posto dell’altezza basta togliere la x da davanti. Se vogliamo specificare sia altezza che altezza basta fare così: 200×100 (immagine larga 200 e alta 100)
- gli ultimi due parametri sono il file di partenza e il file di destinazione.
Se invece volessimo creare un thumbnail di dimensioni fisse prendendo la regione più ampia possibile?
Possiamo combinare il comando convert un paio di volte:
convert -colorspace RGB -thumbnail x50
&& convert -gravity Center -crop 50x50+0+0 +repage thumbnail.jpg thumbnail.jpg
Cosa faccio in questo caso? Prima creo un thumbnail dell’altezza corretta: immaginando di avere un’immagine di partenza di 400×200px otterremmo un thumbnail alto 50 pixel e largo 100.
Quindi agisco sul thumnail creato dicendogli di ritagliare dal centro (-gravity Center) una regione di 50px per 50px senza alcun offset in altezza o larghezza (-crop 50×50+0+0). Con il comando +repage infine “resetto” le informazioni relative all’immagine.
Ed ecco un paio di link fondamentali per chi vuole approfondire il tema: ImageMagick e Thumbnails, buona lettura
Cool!
Anton
Giugno 3, 2009 alle 11:30 pm