Newsgroup: it.comp.lang.perl
Titolo: Imagemagick + perl + thumbnails

Salve,
innazi tutto mi scuso per il crosspost, ma il mio e' un problema al 50%
di linux software e al 50% di perl...
Il problema e' semplice come concetto (non come soluzione...) ma forse
e' difficile da spiegare. Ci provo.
Ho delle immagini in una cartella i cui nomi sono archiviati in
photo.txt.
Ora, con IM vorrei fare dei thumbs delle suddette e pubblicarle su un
sito web. Il mio script perl si occupa del codice HTML. Alcune immagini
sono regolari, tipo landscape, altre sono tipo ritratto.
Lo script perl ha tipo queste righe per produrre il codice:
...
<TD ALIGN = \"center\"><A HREF=\"$photo\">";
...
print FILE2 "<IMG SRC=\"$photo.small\" ALT=\"$photo_small\" WIDTH=100
HEIGHT=75></A>
...
dove $photo e' l'immagine letta dal file photo.txt e $photo_small e' il
thumb. FILE2 e' il file output.html. Le righe sopra rendono solo l'idea,
in realta' sono leggermente diverse.
Lo script funziona per le immagini landscape, per cui WIDTH e' maggiore
di HEIGHT. Tuttavia non discrimina le foto tipo ritratto, che con i
parametri sopra produce thumbs stirati.
La domanda e': e' possibile con IM produrre thumbnails con un flag, tipo
image_xxx_1.jpg per le foto tipo landscape e image_xxx_2.jpg per le foto
tipo ritratto? In questo modo potrei discriminare nello script perl e
produrre la seconda riga come
print FILE2 "<IMG SRC=\"$photo.small\" ALT=\"$photo_small\" WIDTH=100
HEIGHT=75></A>
o
print FILE2 "<IMG SRC=\"$photo.small\" ALT=\"$photo_small\" WIDTH=75
HEIGHT=100></A>
con un condizionele, rispettivamente. 
IM riesce a 'capire' il tipo di foto di cui sta facendo un thumb e
produrre un nome file di output di conseguenza con un suffisso, per
esempio _1 o _2?
Spero di essere stato chiaro...
Suggerimenti per risolvere il problema sono ben accetti!
Grazie in anticipo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG



C'è il comando identify.
Lanciandolo dà varie informazioni sull'immagine fra cui
"WIDTHxHEIGHT", la dimensione in pixel.
Facendo un po' di "cut" e un bell'if poi rinomini l'immagine come vuoi.
O addirittura potresti usare delle variabili per impostare dinamicamente
gli attributi WIDTH e HEIGHT del tag <IMG>.
Comunque ho trovato googlando "getting images size imagemagick",
che ho cercato volentieri perché faccio uso di imagemagick ed ero
incuriosito ;)
Ciao!
-- 
If all the world's economists were laid end to end, we wouldn't reach a
conclusion.
		-- William Baumol

 Facendo un po' di "cut" e un bell'if poi rinomini l'immagine come vuoi.
Ciao,
grazie per la risposta. In effetti identify fa al caso mio!
ho provato con un 
identify /home/mirko/img_1558.jpg
che da'
/home/mirko/img_1558.jpg JPEG 1704x2272 DirectClass 305kb
come faccio con un bash script a isolare 1704x2272, poi 1704 e 2272
separatamente e a darli in pasto a IM?
ho fatto delle prove con grep cercando anche su man, ma senza risultato.
dovrebbe essere del tipo:
grep "????x????" file.jpg
controlla che N1 (il primo dei ????) sia > di N2
se si, convert -thumbnail img_1558.jpg img_1558_small.jpg
se no, convert -thumbnail img_1558.jpg img_1558_small_flag.jpg
che pero' in realta' andrebbe fatto per tutte le immagini di una
cartella.
Scusa l'ignoranza, ma sono nuovo di IM e la bash e' ancora un po'
oscura...
grazie e ciao
mirko


dovrebbe essere del tipo:
Non conosco Imagemagick, ma c'è una quantità di moduli perl che può darti
le dimensioni di un'immagine, senza bisogno di interpretare l'output di un
comando. Da Image::Info a... sorpresa, sorpresa... Image::Magick.
Ciao.