Compress Image es un script para nautilus que permite reducir el tamaño en datos de una o varías imágenes (se pueden realizar compresiones masivas de multiples archivos), con la ventaja de que también podemos personalizar el ratio de compresión.
Para trabajar con Compress Image es preciso tener instalado antes dos programas: imagemagick y zenity, que podemos buscar en nuestro centro de software o bien instalar desde la terminal:
- En Debian y derivadas como Ubuntu y Linux Mint
sudo apt-get install imagemagick zenity
- En Fedora
yum install imagemagick zenity
- En openSUSE
zypper install imagemagick zenity
Una vez instalados, descargamos el archivo de Compress Image desde esta página, lo extraemos, vamos a nuestra carpeta personal, hacemos Ctrl+h para ver las carpetas ocultas y lo copiamos en la carpeta .gnome2/nautilus-scripts/
Reiniciamos nautilus y ya vemos que en el menú contextual nos aparece la opción compress image, seleccionamos los archivos y elegimos si queremos vista previa, grado de compresión, o sobreescribir los archivos.
La compresión dura apenas unos segundos
y nos aparecerá, un directorio nuevo: la carpeta _compressed con las imágenes ya comprimidas.
Fuente | Linux Freedom For Live
Pingback: Capturas de pantalla con el comando import de ImageMagick | La mirada del replicante
Pingback: Latino » Blog Archive » Capturas de pantalla con el comando import de ImageMagick
Los scripts aparecen ahora pulsando en cualquier parte de nautilus, elegir scripts y el subdirectorio abrir la carpeta de scripts.
Script original en inglés; para que los cuadros de diálogo estén en español, sobreescribir con gedit:
#!/bin/bash
# Nautilus script: Compress image
# Decrease quality of JPEG file to decrease file size
# Author: soleilpqd@gmail.com
# License: GNU GPL
# INSTALL:
# Copy into ~/.gnome2/nautilus-scripts, add executable permission (if needed).
function doCompress() {
if [ $overwritable -eq 1 ] && [ ! -e «_compressed» ]; then
mkdir «_compressed»
if [ ! $? -eq 0 ]; then
zenity –error –title=»Comprimir imagenes» –text=»No se puede crear el archivo de destino»
exit 1
fi
fi
failedCount=0
tmp=$IFS
IFS=$’\n’
for f in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
s=$( identify -format «%m» «$f» )
if [ «$s» == «JPEG» ]; then
if [ $overwritable -eq 1 ]; then
dest=»_compressed/$( basename «$f» )»
else
dest=$f
fi
echo «Proccessing $f»
convert «$f» -quality $ratio «$dest»
if [ ! $? -eq 0 ]; then
let failedCount++
fi
else
let failedCount++
fi
done
IFS=$tmp
if [ $failedCount -eq 0 ]; then
zenity –info –title=»Comprimir imagenes» –text=»Todos los archivos se han comprimido satisfactoriamente»
else
zenity –warning –title=»Comprimir imagenes» –text=»Hubo $failedCount errores en los archivos»
fi
}
# checking input file & get 1 file to preview simple
imgAvailable=0
tmp=$IFS
IFS=$’\n’
for f in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
s=$( identify -format «%m» «$f» )
if [ «$s» == «JPEG» ]; then
imgAvailable=1
previewFile=$f
break
fi
done
IFS=$tmp
if [ $imgAvailable -eq 0 ]; then
zenity –error –title=»Comprimir imagenes» –text=»Por favor, elige un archivo(s) JPEG»
exit 1
fi
zenity –question –title=»Comprimir imagenes» –text=»¿Sobreescribir el archivo original?»
overwritable=$?
zenity –question –title=»Comprimir imagenes» –text=»¿Previsualizar?»
previewable=$?
stopable=0
ratio=90
while [ $stopable -eq 0 ]; do
# Ask for compress ratio
ratio=$( zenity –scale –title=»Rango de compresión de la imagen» –text=»Un número alto supone una mayor calidad, pero también un mayor tamaño» –min-value=1 –max-value=100 –value=$ratio )
if [ $? -eq 0 ]; then
if [ $previewable -eq 0 ]; then
previewedFile=$( echo «/tmp/$( basename «$previewFile» )»)
if [ -e «$previewedFile» ]; then
rm «$previewedFile»
fi
convert «$previewFile» -quality $ratio «$previewedFile» | zenity –progress –title=»Creando previsualización» –auto-close –no-cancel –pulsate
gvfs-open «$previewedFile»
zenity –question –title=»¿De acuerdo con $ratio de rango?» –text=»Original: $( du -h «$previewFile» ). Resultado: $( du -h «$previewedFile» ).»
if [ $? -eq 0 ]; then
doCompress | zenity –progress –title=»Comprimiendo…» –auto-close –no-cancel –pulsate
stopable=1
fi
rm «$previewedFile»
else
doCompress | zenity –progress –title=»Comprimiendo…» –auto-close –no-cancel –pulsate
stopable=1
fi
else
stopable=1
fi
done
Gracias por el apunte @Miguel, voy a tener que empezar a repasar post desactualizados que ya debo tener unos cuantos.
🙂
Ahora, en Ubuntu 14.04, la carpeta para los scripts está en otro sitio:
~/.local/share/nautilus/scripts