| Sistema Visualizador de Cómics en Internet | |
Indice de apartados
Explicar la necesidad de un Sistema Visualizador de Cómics en Internet Notas sobre el proyecto Revisión de las dificultades y soluciones en el desarrollo de animaciones gráficas en Java Relación de problemas reconocidos y como convivir con ellos Lista de los comics que se pueden visualizar. |
Notas sobre el proyectoRevisión de los problemas y soluciones en el desarrollo de animaciones gráficas en JavaPara explicar la parte gráfica del Visor de Cómics en Internet no viene mal un poco de información.Mi primer libro de Java fue Java Manual de Referencia de Naughton y Schilt ed Obsborne McGraw-hill (ISBN: 84-481-1131-1), sólo trata el java 1.0 y, aunque tiene un capítulo dedicado a los gráficos en java, sus lagunas son importantes, sobre todo en lo referente a cuando se realiza la carga de una imagen en memoria. Así que, el lugar donde encontré una explicación clara de lo que hicieron los chicos de Java, fue en JavaWorld, en la serie de artículos How-To Java, son artículos de Todd Sunsetd dedicados a los gráficos: Learn how applets load network-based images asynchronously (Here´s a close at the vay Java appltes handle images in a network-based environment) que contiene una explicación clara de cómo se desarrolla el proceso asíncrono de carga y representación de imágenes. O sea, de gran utilidad.
En un segundo artículo el How Java uses the producer /consumer model to handel imagens - An insider´s look, profundiza más, y explica el modelo productor / consumidor que está en la base de las clases gráficas del paquete awt, necesario por el retraso entre petición y respuesta que se produce en la red. Presenta las interfaces
En un tercer artículo When static images just don´t make the cut, (learn how to spice up your applets and applications with animated images). Analiza con más detalle el interface Además, en todos estos artículos hay enlaces útiles que complementan la información. A modo de resumen y para fijar un esquema: en el proceso de creación de una imagen intervienen ocultas las siguientes interfaces:
Para ocultar más:
Sigamos otro poco:
java.awt.image.MemoryImageSource, que está pensada para la animación: implementa el ImageProducer para trabajar a partir de un array de enteros (buffer de memoria). Si generamos un objeto Image, con MemoryImageSource, toda la estructura de clases hará que cuando la imagen ya esté preparada automáticamente se llame método paint(). En este método será donde pasamos del buffer de memoria a la pantalla.
Verdaderamente, todo este esfuerzo de ocultación está bien y es productivo, pero desentrañarlo, tiene tela marinera, lo mostrado aquí es sólo el principio. A veces, se tiene la sensación de estar cazando moscas con un bazoca, cuando es del todo sabido que un simple matamoscas, es mas rápido, eficaz y ligero.
Pero, si esto no es suficiente y quieres saber qué pasa dentro del proceso de renderizado, es decir, cuando ejecutas el
Además, el libro contiene un análisis de las librerías de Java 2D Graphics.
Con tanta teoría es necesario ver algún código fuente de un caso práctico: puedes visitar a Werner Randelshofer un chico suizo que tiene un par de productos dedicados a la animación, y con el código fuente a tu disposición. Además ha creado botones a lo swing compatibles con la versión de Java 1.0.2.. y utiliza el Una de las base principales en el diseño de un entorno gráfico de altos requerimientos de ejecución es el uso de los hilos (threads), y para su conocimiento completo tenemos el excelente libro Concurrent Programmning in Java (Design Principles and Patters) de Doug Lea en la editorial Sun y Addison-Wesley,(ISBN: 0-201-31009-0), que ya da una idea de su contenido, yo tengo el de la 2ordf; edición, es muy completo y relativamente fácil de seguir. Recomendable de todas, todas. Pero si quieres soluciones más específicas para la representación gráfica de alto rendimiento, existe en la red la revista Dr Dopps Java una subparte de www.byte.com, De esta revista yo resaltaría: Wrikting High-Perfomance Graphical Java Components
Java 2 Graphis Rendering. ("An architecture for extreme animation). Su título despista, ya que no está dedicado en exclusiva a Java 2 Graphics, sinó que, es muy útil para saber que modelos de diseño (patterns) son útiles para un entorno gráfico de alto rendimiento. Es decir, a partir del modelo de diseño (patterns) en "pipeline" del proceso de representación gráfica, explica dos técnicas importantes: la pila de objetos (object pooling) y la cola de mensajes asíncronos para trabajar con un hilo, en cada una de las fases de renderizado.
Más sobre mensajes asíncronos: An Asynchronous Design Pattern. de Allan Vermeulen.
|
|||||||
|
|
||||||||
| ||||||||