Categorías destacadas
programacion php    
Artículo
16
¡votar!

 Gráficos con Java 2D


Renderizado en Java 2D

El mecanismo de renderizado básico es el mismo que en las versiones anteriores del JDK -- el sistema de dibujo controla cuándo y cómo dibuja un programa. Cuando un componente necesita ser mostrado, se llama automáticamente a su método paint o update dentro del contexto Graphics apropiado.

El API 2D de Java presenta java.awt.Graphics2D, un nuevo tipo de objeto Graphics. Graphics2D desciende de la clase Graphics para proporcionar acceso a las características avanzadas de renderizado del API 2D de Java.

Para usar las características del API 2D de Java, tenemos que forzar el objeto Graphics pasado al método de dibujo de un componente a un objeto Graphics2D.

public void Paint (Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    ...
}

.  Contexto de Renderizado de Graphics2D

Al conjunto de atributos de estado asociados con un objeto Graphics2D se le conoce como Contexto de Renderizado de Graphics2D. Para mostrar texto, formas o imágenes, podemos configurar este contexto y luego llamar a uno de los métodos de renderizado de la clase Graphics2D, como draw o fill . Cómo muestra la siguiente figura, el contexto de renderizado de Graphics2D contiene varios atributos.

 
El estilo de lápiz que se aplica al exterior de una forma. Este atributo stroke nos permite dibujar líneas con cualquier tamaño de punto y patrón de sombreado y aplicar finalizadores y decoraciones a la línea.
 
El estilo de relleno que se aplica al interior de la forma. Este atributo paint nos permite rellenar formas con cólores sólidos, gradientes o patrones.
 
El estilo de composición se utiliza cuando los objetos dibujados se solapan con objetos existentes.
 
La transformación que se aplica durante el dibujado para convertir el objeto dibujado desde el espacio de usuario a las coordenadas de espacio del dispositivo. También se pueden aplicar otras transformaciones opcionales como la traducción, rotación escalado, recortado, a través de este atributo.
 
El Clip que restringe el dibujado al área dentro de los bordes de la Shape se utiliza para definir el ára de recorte. Se puede usar cualquier Shape para definir un clip.
 
La fuente se usa para convertir cadenas de texto.
 
Punto de Renderizado que especifican las preferencias en cuanto a velocidad y calidad. Por ejemplo, podemos especificar si se debería usar antialiasing, si está disponible.

Para configurar un atributo en el contexto de renderizado de Graphics2D, se usan los métodos set Attribute.

  • setStroke
  • setPaint
  • setComposite
  • setTransform
  • setClip
  • setFont
  • setRenderingHints

Cuando configuramos un atributo, se el pasa al objeto el atributo apropiado. Por ejemplo, para cambiar el atributo paint a un relleno de gradiente azul-gris, deberíamos construir el objeto GradientPaint y luego llamar a setPaint.

gp = new GradientPaint(0f,0f,blue,0f,30f,green);
g2.setPaint(gp);

Graphics2D contiene referencias a sus objetos atributos -- no son clonados. Si modificamos un objeto atributo que forma parte del contexto Graphics2D, necesitamos llamar al método set para notificarlo al contexto. La modificación de un atributo de un objeto durante el renderizado puede causar comportamientos impredecibles.

. Métodos de renderizado de Graphics2D

Graphics2D proporciona los siguientes métodos generales de dibujado que pueden usarser para dibujar cualquier primitivo geométrico, texto o imagen.

  • draw--dibuja el exterior de una forma geométrica primitiva usando los atributos stroke y paint.
  • fill--dibuja cualquier forma geométrica primitiva rellenado su interior con el color o patrón especificado por el atributo paint.
  • drawString--dibuja cualquier cadena de texto. El atributo font se usa para convertir la fuente a glyphs que luego se rellenan con el color o patrón especificados por el atributo paint.
  • drawImage--dibuja la imagen especificada.

Además, Graphics2D soporta los métodos de renderizado de Graphics para formas particulares, como drawOval y fillRect.

Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon