Futuraweb, extend you brand online

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

Leave a Reply