Wednesday, August 04, 2010

Creador de iconos


Un icono o ícono, es -de acuerdo al diccionario- una representación religiosa pintada o en relieve característica del arte bizantino. Así decimos, por ejemplo: "Volvió de Rusia cargada de iconos". También es un símbolo que mantiene una relación de semejanza con el objeto que representa, como en este ejemplo: "para entrar al diccionario, haz doble clic en el icono."

En computación, en el diseño gráfico tal vez, un icono es una imagen gráfica, que suele ser pequeña, que representa un acceso directo, un programa, un archivo, un enlace, o cualquier otro recurso. El ícono suele ser una buena forma de identificación para lo representado.

En este caso vemos que los iconos han invadido las computadoras y los dispositivos móviles. Así, los teléfonos "inteligentes", los celulares modernos, tienen pantallitas a color con iconos que representan un sinnúmero de programas. De hecho, pienso que para los diseñadores de estos iconos es cada vez más difícil mantener la relación de semejanza entre el dibujo y lo que representa.

Por ejemplo, el icono de CorelDraw es en realidad el dibujo de un globo aerostático. Y sí, quien lo diseñó probablemente pensó en posicionar el logo y la marca, pero es claro que el icono de CorelDraw no tiene nada que ver con las funciones que hace el programa.

Encontré en el estupendo libro "Beyond Photography, The Digital Darkroom", por Gerard J. Holzmann (http://www.spinroot.com/pico/a4.pdf), lo siguiente al respecto de este tema:

Por ahí de 1983, en los Laboratorios Bell, ahora AT&T, un grupo de unos 50 investigadores empezaron a trabajar con un nuevo tipo de terminal de computadora. Inmediatamente pusieron manos a la obra para sacar provecho de sus capacidades gráficas.

Luca Cardelli (que al momento de escribir esto, había cambiado de trabajo, ahora para DEC Systems Research Center, en Palo, Alto), había pensado en una manera de convertir fotos manualmente en pequeños iconos en blanco y negro. (Cabe aclarar que en 1983 no había cámaras digitales, ni
scanners caseros, ni todos estos dispositivos que ahora son comunes en muchísimas casas y oficinas). Pues bien, Cardello halló una víctima, la foto de Edsger W. Dijkstra, con la que decidió trabajar. El proceso fue así:
  • Reducir la fotografía con una copiadora Xerox, para que quedara al tamaño de una foto pequeña, de 4x4 cms, y en alto contraste.
  • Dibujar una rejilla (matriz) de 12x12 puntos y hace4r entonces un patrón colocando puntos negros o blancos, de acuerdo al porcentaje en que en alguna región de la foto había más blanco o más negro.
El resultado de este proceso dio lo siguiente:


Luca hizo una demostración de su programa poniendo el icono de Dijkstra como si fuese una pelota rebotando en la pantalla. Los científicos se emocionaron con la idea y digitalizaron más imágenes manualmente, pero pronto se aburrieron del proceso.


A
alguien entonces se le ocurrió usar esta idea en el nuevo servidor de correo, que podría anunciar la llegada de mensajes a las terminales mostrando el icono de quien lo enviaba. Luca Cardelli entonces escribió una primera versión que llamó vismon (con cierto humor considerando que existía un programa que se llamaba sysmon).

Rob Pike habló con los investigadores y les tomó fotografías de 4x5 pulgadas con su cámara Polaroid. Y aunque nadie sabía para qué Pike quería estas fotos, todos colaboraron, desde la secretaria hasta el director ejecutivo. Las imágenes fueron entonces digitalizadas usando un
scanner que se pidió prestado a los colegas del departamento de procesamiento de imágenes.

En
un par de días, se tuvieron cerca de 100 fotografías que fueron la fuente principal para los experimentos de procesamiento de imágenes. El siguiente paso en esta secuencia ocurrió cuando Rob Pike y Dave Presotto desarrollaron el software para una base de datos centralizada de fotografías iconizadas. Ellos le llamaron a esto el servidor de rostros.

El programa vismon se reescribió para usarse con el servidor de rostros. Desde entonces, vismon ha sido uno de los programas más populares en las computadoras de Bell Labs. e
n ese tiempo. El servidor de rostros se usó por el programa de correo para anunciar la llegada de mensajes electrónicos y por el manejador de la impresora laser, para identificar al propietario de quienes mandaban trabajos para impresión.



La imagen anterior muestra los iconos de quienes mandaron correo a un usuario. La barra de la izquierda viene del programa original sysmon, que muestra la carga del sistema en ese momento.
Incluir las fotos de los nuevos colegas fue algo que se hizo en la base de datos del servidor de rostros, como algo de rutina.

La foto se digitaliza en 512x512 puntos, se sacan semitonos y se convierte en un icono de 48x48 puntos, con un programa llamado Mugs, escrito por Tom Duff. El icono entonces se incluye en la base de datos mantenida por el servidor de rostros.


Pues bien, la idea me pareció interesante y además, es actualmente mucho más simple y fácil de implantar, considerando los avances, tanto en hardware como software. Decidí entonces mi estrategia: Tomaría una imagen, a la cual le aplicaría algún proceso (ver más adelante), para acomodar el resultado en una rejilla que fuese de 16x16, 24x24, 32,32, 48x48 o 64x64 pixeles, que son más o menos las resoluciones que se usan actualmente en la iconografía de los sistemas operativos actuales.



En lugar de tomar la imagen y reducirla, lo cual en algunos casos pierde la imagen cierta precisión por los algoritmos que se usan para hacerla más chica, se me ocurrió aplicar el filtro mosaico a la imagen, con precisamente las diferentes resoluciones: 16x16, 24x24, 32,32, 48x48 o 64x64. De esta manera, tomaría un punto de cada región dentro del mosaico y la pintaría en una imagen nueva. Desde luego que este proceso, como el de reducir una imagen, tiende a perder información, pero en mi opinión, para este problema en particular, esta técnica parece ser más conveniente que usar los algoritmos para reducir una imagen.



Una vez teniendo la imagen procesada, usando el API correspondiente en Windows (recuérdese que usé Delphi bajo el sistema operativo de Microsoft), salvé la imagen en el formato .ico, que es el que usa precisamente Windows.

El software es muy sencillo de usar. Los pasos a seguir son:

  • Se lee la imagen que se desea iconizar, valga el término.
  • Se usa la opción de menú (Procesar), la cual permite -si se desea- pasar antes la imagen a tonos de gris por si no se desea que se procese en color.
  • Al término del proceso aparecerá una ventana que simplemente pide al usuario con qué nombre se quiere salvar la imagen procesada, en formato .ico.

A quien le interese este software, escríbame a mi correo: morsa@la-morsa.com y a vuelta de correo tendrá el programa para que lo instale y use.

No comments: