5 de marzo de 2011

Exploradores de Imágenes con Vista Previa

Después de casi 4 meses sin dedicarle tiempo al Blog, decidí echar un vistazo para ver que tal iba la cosa, pues a pesar de que de tanto en tanto miraba para ver si había algún nuevo comentario, que para mi sorpresa los hubo, o revisaba el foro de dBFast en la web del programador, no había vuelto a entrar como administrador, y si lo había hecho, había sido de manera rápida solo como para alivianar un poco la conciencia.


Hoy sin embargo, decidí ver qué pasaba en realidad y me encontré con dos gratas sorpresas.  La primera es que a pesar de los largos periodos de inactividad, el Blog, a la hora que escribo esto, registra 4.123 visitas de lugares tan diversos como España (gracias amigo Ramón), Mexico, Perú, Argentina, Colombia, Ecuador, Costa Rica, Brasil, Italia, etc. etc. etc.  Es decir,  nada mal para un Blog  orientado a una comunidad pequeña y dedicado a un lenguaje de programación que muchos consideran descontinuado y obsoleto.


La otra sorpresa que me llevé, es que por lo menos en Chile, al escribir "dbfast" en la casilla de búsqueda de Google, "dBFast - Chile" aparece en el primer lugar, y esto, sin dedicar ningún esfuerzo a ello ni habérmelo propuesto en ningún momento como meta.


En virtud de estos acontecimientos, y a pesar de que la intensa carga laboral que impone lidiar con Visual Studio.Net (si amigos, en eso estoy), con VB.Net, ASPX y ORACLE, siento que vale la pena sacrificar un par de horas de sueño para retribuir la atención y el interés que ustedes me han brindado, y quien sabe, tal vez convertir el Blog en un espacio para que cada programador pueda internacionalizar sus programas, compartiendo también parte de sus conocimientos en beneficio de todos.  Espero también poder conocer de manera más cercana, aunque sea digitalmente a quienes han tenido la gentileza de apuntarse como seguidores (7 a la fecha), pues la vida pasa rápido y tendemos a no prestarle mucha atención a las personas que se cruzan en nuestras vidas.



Exploradores de imágenes con Vista Previa

Bueno, por ahora basta de  reflexiones y divagaciones, y como dijo el dermatólogo, vamos al grano.  Creo que en algún momento les ofrecí un par de rutinas para manipular imágenes y eso es lo que traigo hoy.

Como ya saben todos quienes han trabajado en dBFast, una de las grandes limitaciones de esta herramienta es la escasa posibilidad de manipular imágenes.  dBFast solo reconoce archivos BMP (mapas de bit), que por cierto no se caracterizan por ser los más pequeños, y tampoco dispone de instrucciones o funciones que nos permitan manejar sus propiedades.

Sin embargo, y como una aplicación para Windows no puede preciarse de tal sin incluir imágenes, quiero compartir con ustedes dos funciones que creé buscando la forma de que los usuarios de mis programas pudieran incorporar sus logos o imágenes propias para personalizar la interfaz de trabajo de sus respectivas aplicaciones.

El primer problema que tuve que enfrentar, era que muchas veces el el usuario o el cliente no recordaba el nombre de la imagen que quería utilizar, y me planteaban la posibilidad de tener una vista previa de las imágenes sin tener que utilizar herramientas externas.  Pero ¿y qué hacer con aquellas imágenes que eran muy grandes para acomodarlas a la interfaz de trabajo? ¿cómo haría la vista previa si no contaba con las herramientas para confinar la imagen solo a una porción la pantalla, a un objeto o para reducir sus dimensiones?.

Finalmente, encontré la solución de la misma manera en que la encontré para la creación de solapas (TAB BUTTONS), pues a quienes nos formamos programando aplicaciones para DOS se nos olvida que la base del funcionamiento de Windows son la ventanas. En ambos ejemplos creé una ventana principal para la aplicación, dentro de ella creé el o los objetos que permiten buscar y listar las imágenes, e incorporé una ventana anidada (hija) o CHILD WINDOW en la cual mostraría la imagen, de esa manera, para ver las diferentes imágenes solo debía limpiar y actualizar la ventana hija.

Pero ¿como mostraría aquellas imágenes que fueran más grandes que la ventana destinada a la vista previa si dBFast no me permite manipular las dimensiones de salida de una imagen para adaptarlas a un objeto o contenedor?  La solución era más fácil de lo que pensaba, puse dos barras de desplazamiento o SCROLL BARS, una vertical y otra horizontal junto a la ventana de la vista previa, de modo que al desplazarse sobre ellas se fuera desplazando la imagen dentro de la ventana, quizás no es lo óptimo, pero el resultado es aceptable.

A continuación les dejo algunas capturas de la ejecución del programa "PREVIEW.PRG" para que puedan apreciar de qué hablo:

Ventana principal de la aplicación


Imagen seleccionada - Ejemplo1

Imagen seleccionada y uso de barras de desplazamiento para ver la parte oculta de la imagen - Ejemplo 1

Imagen seleccionada - Ejemplo 2


Imagen seleccionada en carpeta "Fotos" y uso de barras de desplazamiento para ver la parte oculta de la imagen - Ejemplo 2

Archivos incluidos en la descarga:  PREVIEW.PRG (Programa principal), SCRLIB.PRG (Biblioteca de funciones), EVENTS.INC (Archivo con definiciones de eventos), DESCRIP.TXT (Texto con descripción de la aplicación para mostrar en ventana principal del programa), y varios archivos de imagen .BMP


 Pueden descargar el programa directamente desde MEGAUPLOAD



1 comentarios:

  1. Hola Rodrigo,

    Hacia semanas que te esperaba para ver con que herramienta nos ibas a sorprender, y sin duda alguna nos has vuelta la ilusión de continuar con este lenguaje que es antiguo pero luchador.

    Tu programa de Exploradores de imágenes con Vista Previa es una muy buena herramienta para poder seleccionar imagenes para insertar en nuestras aplicaciones, ya como bien dices una de las limitaciones que tiene dBFast es la gestión de imagenes y con tu aplicación estaremos un poco menos limitados.

    Gracias Rodrigo.

    ResponderSuprimir