Ho creato un g-script per convertire immagini di formato "png" nel formato "jpeg".
#!/bin/bash
#
# AUTHOR: Maurizio di NuvoleSparse
#
# License: GNU General Public version 2 or any later version.
# This program comes with ABSOLUTELY NO WARRANTY; for details
# see the COPYING file or visit "http://www.gnu.org/licenses/gpl.html".
# This is free software, and you are welcome to redistribute it under
# certain conditions. See the GPL license for details.
#
# Dependence:
# zenity
# imagemagick
#
#
usa_printf(){
inizio=0
fine=1024
p=1
while [ $p != ultima ]; do
printf "${temp:inizio:fine}" |
zenity --text-info --title="gpng2jpg - \
parte $p" &
inizio=$(( inizio+1024 ))
fine_ipotetica=$(( inizio+fine ))
if [ ${#temp} -lt $fine_ipotetica ]; then
p="ultima"
printf "${temp:inizio:fine}" | zenity --text-info \
--title="gpng2jpg - parte $p"
break
fi
p=$(( p+1 ))
done
}
##main
### trucco per evitare l'ostacolo di un path errato
### quando si avvia uno Gscript dalla Scrivania
PERCORSO="`echo $NAUTILUS_SCRIPT_CURRENT_URI| sed "s&^file://&&"`"
[ -n "$PERCORSO" ] && cd "$PERCORSO"
if [ $# -eq 0 ]; then
zenity --title="gpng2jpg" --error --title="Attenzione"\
--text="Seleziona almeno un file."
exit 1
fi
LIVELLO=$(zenity --scale --title="gpng2jpg" --text "Qualità di compressione:"\
--min-value=0 --max-value=100 --value=85 --step 1)
[ -z "$LIVELLO" ] && exit 1
while [ $# -gt 0 ]; do
if echo "$1" | grep -iq ".png$"; then
imageJPG=$( echo "$1"|sed "s/.png$/.jpg/" )
convert -compress JPEG -quality $LIVELLO "$1" "$imageJPG"\
2>>/tmp/gpng2jpg.log
else
echo -e "Attenzione: '$1' non e' un png."\
>>/tmp/gpng2jpg.log
fi
shift
done
if [ -s "/tmp/gpng2jpg.log" ]; then
echo -e "Lo script e' terminato." >>/tmp/gpng2jpg.log
temp="$(cat "/tmp/gpng2jpg.log")"
if [ ${#temp} -gt 1024 ]; then
usa_printf
else
cat "/tmp/gpng2jpg.log" | zenity --title="Errore - gpng2jpg"\
--text-info
fi
rm -f /tmp/gpng2jpg.log || zenity --title="gpng2jpg" --error\
--title="Attenzione"\
--text="Non e' stato possibile rimuovere il file /tmp/gpng2jpg.log! :-("
else
zenity --title="gpng2jpg" --info --text="Lo script e' terminato."
fi
exit 0
Aggiornamento del 08 Agosto 2006
Ora è possibile dargli impasto anche file i cui nomi contengono uno o più spazi.
Ultimo aggiornamento 24 Ottobre 2008