[PLUTO-help] script per modificare immagini
Gian Uberto Lauri
GianUberto.Lauri a eng.it
Ven 4 Gen 2008 23:39:07 CET
>>>>> "mx" == max xxv <mauro.soligo a gmail.com> writes:
mx> Ciao a tutti, ho una cartella contenente qualche centinaio di
mx> immagini di formato e dimensione diversa e vorrei creare uno
mx> script per prenderle, ridimensionarle ad una larghezza specifica (
mx> gli do altezza e larghezza e deve portarle alla dimensione
mx> inferiore tra i due mantenendo le proporzioni )
#------------------------------------8<-----------------------------
#!/bin/bash
#
# (C) 2004 Gian Uberto "saint" Lauri
# Distribuito sotto GNU GPL v3 http://www.gnu.org/licenses/gpl-3.0.txt
#
# Ridimensiona un immagine mantenendo l'aspect ratioe ne crea il
# thumbnail. Usato per i siti web
# http://www.societavenetaferrovie.it
# http://www.880001.it
# http://www.trenistorici.it
#
TH_LAND="200x133"
TH_PORT="133x200"
FS_LAND="500x376"
FS_PORT="376x500"
if [ $# = 0 ]
then
echo 1>&2 "Uso: "$0" immagine [destinazione]"
exit 1
elif [ $# -gt 3 ]
then
echo "Argomenti in eccesso ignorati"
fi
SORGENTE=$1
if [ $# = 2 ]
then
DESTINAZIONE=$2
else
DESTINAZIONE=$1
fi
# calcolo i nomi
if [ "."`dirname $DESTINAZIONE` = "." ]
then
THUMBNAIL="thn_"`basename $DESTINAZIONE`
else
THUMBNAIL=`dirname $DESTINAZIONE`"/thn_"`basename $DESTINAZIONE`
fi
echo "Trasformo "$SORGENTE" in "$DESTINAZIONE" con thumbnail "$THUMBNAIL
# pesca l'aspect ratio
if [ `identify $SORGENTE | awk '{ print $3 }' | awk -Fx '{ print ($1/$2 > 1)?"L":"P"}'` == "P" ]
then
TH_SIZE=$TH_PORT
FS_SIZE=$FS_PORT
else
TH_SIZE=$TH_LAND
FS_SIZE=$FS_LAND
fi
# ridimensiona
convert -size $FS_SIZE $SORGENTE -resize $FS_SIZE +profile "*" $DESTINAZIONE
convert -size $TH_SIZE $SORGENTE -resize $TH_SIZE +profile "*" $THUMBNAIL
#------------------------------------8<-----------------------------
Da questo script puoi risalire a come ridimensionare le immagini mantenendo
l'aspect ratio.
Occhio che la documentazione di Imagemagick è solo html, le URL nella
manpage.
#------------------------------------8<-----------------------------
#!/bin/sh
# (C) 2004 Gian Uberto "saint" Lauri
# Distribuito sotto GNU GPL v3 http://www.gnu.org/licenses/gpl-3.0.txt
#
# Appone un messaggio di (C) a delle immagini. Usato per i siti
# web
# http://www.societavenetaferrovie.it
# http://www.880001.it
# http://www.trenistorici.it
#
if [ $# != 4 ]
then
echo 1>&2 "Uso: "$0" immagine 'messaggio' pointsize destinazione"
exit 1
elif [ $# -gt 5 ]
then
echo "Argomenti in eccesso ignorati"
fi
SORGENTE=$1
COPY=$2
POINTSIZE=$3
DIMENSIONE=`identify $SORGENTE | awk '{ print $3 }'`
BERSAGLIO=$$"temp.png"
DESTINAZIONE=$4
# genera il comando per generare l'immagine con l'indicazione di ©
COMANDO="stroke white fill black text 0,0 '© "$COPY"'"
echo "Creo firma '© "$COPY"'"
convert -size $DIMENSIONE xc:none -pointsize $POINTSIZE \
-gravity NorthWest -draw "$COMANDO" $BERSAGLIO
# vedere come scegliere una posizione con composite.
echo "Metto il watermark in "$SORGENTE" salvando in "$DESTINAZIONE
composite -watermark 30% $BERSAGLIO $SORGENTE $DESTINAZIONE
rm $BERSAGLIO
#------------------------------------8<-----------------------------
Credo che dal secondo script possa serverti il comando composite,
magari con quallche opzione in più
--
/\ ___ Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____ African word
//--\| | \| | Integralista GNUslamico meaning "I can
\/ e coltivatore diretto not install
di software Debian"
More information about the pluto-help
mailing list