[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