lunes, 27 de septiembre de 2010

Script: Convertir a JPG (Nautilus Script)

Interesante Script con el que podremos convertir un grupo de imagenes a formato jpg. Para usarlo basta con darle permisos de ejecución y copiarlo a tu carpeta “$HOME/.gnome2/nautilus-scripts”.

01#!/bin/bash
02
03#====================================================
04# Convertir a JPG
05#
06# Script de Nautilus para convertir un grupo de imagenes a formato jpg
07# Copiar a $HOME/.gnome2/nautilus-scripts/Imagenes
08#
09#====================================================
10
11# Calidad de la imagen JPG ajustala para tener mas o menos
12CALIDAD="75"
13
14# para comprobar si el tipo del fichero es imagen
15check_type()
16{
17return `file "$1" | grep image | head -1 | wc -l`
18}
19#--------------------------------------------------------------
20
21# para convertir a jpg
22convertir_a_jpg()
23{
24# Recuperar el fichero
25filename="$1"
26
27# Comprobamos si es un directorio,si lo es, terminamos
28if [ -d "$filename" ];
29then
30    echo "es un directorio."
31else
32    # en otro caso,
33    # chequear el tipo de fichero (que sea imagen)
34    if (! check_type "$filename")
35    then
36        echo "es una imagen"
37
38        extension=${filename##*.}
39        path_and_name=${filename%.*}
40
41        echo "extension: $extension"
42        echo "path&name: $path_and_name"
43
44        if [ "$extension" == "jpg" ]
45        then
46            echo "ya es jpg no se convierte"
47        else
48            # si la extension es valida, ya usamos convert
49            echo "Convirtiendo imagen [$filename] a jpg..."
50            convert -quality $CALIDAD "$filename" "$path_and_name.jpg"
51        fi;
52
53    fi
54fi
55}
56
57# Redefinir variable IFS para poder usar ficheros con espacios
58tmpIFS=$IFS
59IFS=$'\n'
60
61if [ -z $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]; then
62    NAUTILUS_SCRIPT_SELECTED_FILE_PATHS=$1
63fi
64
65# Para cada uno de los ficheros seleccionados
66for ARCHIVE_FULLPATH in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
67
68    NEWDIRNAME=${ARCHIVE_FULLPATH%.*}
69    FILENAME=${ARCHIVE_FULLPATH##*/}
70    NAME=${ARCHIVE_FULLPATH##*/.*}
71
72    echo "* Selected: $NEWDIRNAME || $FILENAME || $NAME " | tee -a /tmp/nautilus_convertir_a_jpg.log
73    # Y aqui ya hacemos la llamada para convertir el fichero a jpg
74    convertir_a_jpg "$ARCHIVE_FULLPATH"
75
76done
77
78IFS=$tmpIFS;

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.