Acerca de
Tutoriales
Comunidad
Actualidad
Enlaces





En MacProgramadores
En Internet

Trucos

Thumbnails en imágenes



Este truco enseña cómo asociar un icono a una imagen con su thumbnail.

Si para guardar sus imágenes no usa ningún software como iPhoto, sino que guarda sus imágenes en carpetas, quizá este truco le resulte útil para asociar un icono personalizado a cada fichero de imagen con un thumbnail de la propia imagen. De esta forma le resultará más fácil identificar el contenido de cada imagen.


Introducción

Finder muestra un icono por defecto como el de la Figura 1 (a) por cada imagen que encuentra. Podemos asociar un icono personalizado como el de la Figura 1 (b) a cada imagen con lo que la identificación de su contenido es mucho más fácil.

(a)

(b)


Figura 1: Icono por defecto e icono personalizado

En este truco veremos cómo crear un script bash que pone y quita iconos personalizados a las imágenes, y cómo crear un plug-in Automator que nos permita poner o quitar iconos personalizados desde Finder.

Poner y quitar thumbnails a imágenes

Podemos usar el comando sips para poner un icono personalizado a una imágen de la forma:

$ sips -i fichero.jpg

Donde fichero.jpg es el fichero al que ponemos la imagen.

Para borrar el icono a una imagen, basta con borrar su resource fork:

$ echo -n "" > fichero.jpg/..namedfork/rsrc

El Listado 1 muestra un ejemplo de un script bash que pone un icono personalizado a los ficheros recibidos. Para ejecutarlo podemos hacer:

$ poniconojpg fichero.jpg

En caso de recibir un directorio, busca los ficheros *.jpg (mayúsculas o minúsculas) que contenga ese directorio, y pone un icono personalizado a cada uno de ellos.

#!/bin/bash
# Este comando es un ejemplo escrito por Fernando Lopez
# para MacProgramadores

# Comprueba que se reciba al menos un argumento
if [ -z $1 ]; then
   echo "Indique fichero o directorio como argumento"
   exit 1
fi

# Ejecuta sips sobre cada argumento.
# Los argumentos pueden ser un fichero o directorio.
# Si un argumento es un directorio busca los *.jpg que contenga
for arg in "$@"
do
   for f in $(find $arg -iname "*.jpg")
   do
     if [ -a $f ]; then
        sips -i $f
     fi
   done
done
Listado 1: Script bash que pone iconos personalizados

El Listado 2, es parecido al Listado 1 pero, quita el icono personalizado a los ficheros de imagen recibidos (o a los ficheros de imagen contenidos en el directorio). Por ejemplo, si queremos quitar el icono personalizado a todas la imágenes contenidas en la carpeta album2006, hacemos:

$ quitaiconojpg album2006

#!/bin/bash
# Este comando es un ejemplo escrito por Fernando Lopez
# para MacProgramadores

# Comprueba que se reciba al menos un argumento
if [ -z $1 ]; then
   echo "Indique fichero o directorio como argumento"
   exit 1
fi

# Borra el resource fork de cada imagen. 
# Los argumentos pueden ser un fichero o directorio.
# Si un argumento es un directorio busca los *.jpg que contenga 
for arg in "$@"
do
   for f in $(find $arg -iname "*.jpg")
   do
     if [ -a $f ]; then
        echo -n > "$f/..namedfork/rsrc"
     fi
   done
done
Listado 2: Script bash que quita iconos personalizados

Crear un plug-in Automator para Finder

Automator, es una herramienta de programación (que se distribuye gratuitamente con las Developer Tools) la cual nos permite crear pequeñas aplicaciones, de este tipo, en muy poco tiempo.

Podemos construir fácilmente un aplicación Automator, como la de la figura, que ejecute el script del Listado 1 al arrastrar ficheros con las imágenes (o bien una carpeta con las imágenes) sobre el icono de la aplicación.

Para construir esta aplicación ejecute Automator, concatene las acciones Get Selected Finder Items y Run Shell Script, tal como muestra la figura. La acción Get Selected Finder Items permite conocer los ficheros seleccionados en Finder cuando se ejecuta la aplicación Automator, o también, como va a ser nuestro caso, conocer los ficheros arrastrados sobre la aplicación Automator. Los ficheros seleccionados se pasan a la acción Run Shell Script que ejecuta el script sobre ellos. Para que los ficheros seleccionados se pasen como argumento, seleccione la opción Pass input as argument.

Cuando vaya a guardar la aplicación Automator con la opción File|Save As..., verá que está se puede guardar de dos formas:

  • Como un Workflow, lo cual le permite editar a posteriori la aplicación. Es decir, sería el equivalente al código fuente de un programa.
  • Como una Application, lo cual crea un ejecutable con un icono.

Guárdela como una aplicación con el nombre poniconojpg, para obtener una aplicación como la de la primera figura.

Un tercera opción es guardar la aplicación con la opción File|Save As Plug-in, en este caso puede generar un Plug-in de Finder como el de la figura que luego se podrá ejecutar sobre las imágenes o carpetas seleccionadas.

Análogamente puede crear otro plug-in automator para quitar los iconos a las imágenes.