pubblicato Lunedì 03 Luglio del 2006 alle 23:42.

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
Attenzione: gli script sono pubblicati SOLO a scopo dimostrativo (didattico) e ASSOLUTAMENTE SENZA GARANZIA: l'autore nega qualsiasi responsabilità di danni riscontrabili a seguito del loro uso (mancato funzionamento, errori ed eventuale perdita di dati, etc). Gli script sono pubblicati con la licenza d'uso GNU General Public License, peraltro ottenibile al seguente link GNU/GPL.

Aggiornamento del 08 Agosto 2006
Ora è possibile dargli impasto anche file i cui nomi contengono uno o più spazi.

Ultimo aggiornamento 24 Ottobre 2008


powered by FreeFind
Il sito è una creazione di Maurizio... ed è pubblicato sotto una Licenza CC; esso non viene aggiornato
in maniera periodica, pertanto non può essere considerato un prodotto editoriale ai sensi della legge n. 62 del 7.03.2001.