ImageMagick e` una suite completa di utilities che permettono di creare, modificare e comporre immagini. Vediamo come sfruttare una delle componenti piu’ utilizzate: convert.
Ecco le principali caratteristiche di questa suite direttamente dal sito ufficiale:
- Convert an image from one format to another (e.g. PNG to JPEG)
- Resize, rotate, sharpen, color reduce, or add special effects to an image
- Create a montage of image thumbnails
- Create a transparent image suitable for use on the Web
- Turn a group of images into a GIF animation sequence
- Create a composite image by combining several separate image
- Draw shapes or text on an image
- Decorate an image with a border or frame
- Describe the format and characteristics of an image
Una delle utility piu’ interessanti e` convert che consente, tra le altre cose, di ridimensionare un’immagine in base ad alcuni parametri e permette di risolvere uno dei ricorrenti problemi in ambito web: le thumbnails.
Per fare questo e` sufficiente:
convert fileA.jpg -geometry 120x60 fileB.jpg
dove “fileA.jpg” e` l’immagine originale mentre “fileB.jpg” sara’ l’immagine destinazione che verra’ creata dal tool convert.
L’opzione -geometry (alias dell’opzione -resize) accetta come parametri la larghezza e l’altezza massima delle dimensioni dell’immagine destinazione; questo significa che l’immagine sara’ contratta o espansa fino ad massimo di uno dei 2 parametri ma ne verranno preservate le proporzioni (aspect ratio). Per forzare invece entrambi i parametri e` necessario utilizzare il punto esclamativo:
convert fileA.jpg -geometry 640x480! fileB.jpg
Il passaggio a php e` veloce ed immediato, basta eseguire un system e, stando attenti ai permessi delle varie directory, otteniamo al volo la nostra thumb generata dinamicamente:
system ("/path_convert/convert fileA.jpg -resize 120x60! fileB.jpg");
Alcuni link di riferimento per approfondire e scaricare ImageMagick:
convert:
http://www.imagemagick.org/script/convert.php
opzione -geometry
http://www.imagemagick.org/script/command-line-options.php#geometry
ImageMagick
http://www.imagemagick.org

Entries (RSS)