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

 Gráficos con Java 2D


Componer Gráficos

La clase AlphaComposite encapsula varios estilos de composición, que determinan cómo se dibujan los objetos solapados. Un AlphaComposite también puede tener un valor alpha que especifica el grado de transparencia: alpha = 1.0 es totalmente opaco, alpha = 0.0 es totalmente transparente. AlphaComposite soporta la mayoria de los estandares de composición como se muestra en la siguiente tabla.

Source-over (SRC_OVER)
Si los pixels del objeto que está siendo renderizado (la fuente) tienen la misma posición que los pixels renderizados préviamente (el destino), los pixels de la fuente se renderizan sobre los pixels del destino.
Source-in (SRC_IN)
Si los pixels de la fuente y el destino se solapan, sólo se renderizarán los pixels que haya en el área solapada.
Source-out (SRC_OUT)
Si los pixels de la fuente y el destino se solapan, sólo se renderizarán los pixels que haya fuera del área solapada. Los pixels que haya en el área solapada se borrarán.
Destination-over (DST_OVER)
Si los pixels de la fuente y del destino se solapan, sólo se renderizarán los pixels de la fuente que haya fuera del área solapada. Los pixels que haya en el área solapada no se cambian.
Destination-in (DST_IN)
Si los pixels de la fuente y del destino se solapan, el alpha de la fuente se aplica a los pixels del área solapada del destino. Si el alpha = 1.0, los pixels del área solapada no cambian; si alpha es 0.0 los pixels del área solapada se borrarán.
Destination-out (DST_OUT)
Si los pixels de la fuente y del destino se solapan, se aplica el alpha de la fuente a los pixels del área solapada del destino. Si el alpha = 1.0, los pixels del área solapada no cambian; si alpha es 0.0 los pixels del área solapada se borrarán.
Clear (CLEAR)
Si los pixels de la fuente y del destino se solapan, los pixels del área solapada se borrarán.

Para cambiar el estilo de composición usado por Graphics2D, creamos un objeto AlphaComposite y lo pasamos al método setComposite.

. Ejemplo: Composite

Este programa ilustra los efectos de varias combinaciones de estilos de composición y valores de alpha.

Pulsa sobre la imagen para ejecutar el  applet.

Esta es una imagen del GUI del applet. Para ajecutar el applet, pulsa sobre ella. El applet aparecerá en una nueva ventana del navegador.

Composite.java contiene el código completo de este applet.

Se ha construido un nuevo objeto AlphaComposite ac llamando a AlphaComposite. getInstance y especificando las reglas de composición deseadas.

AlphaComposite ac =
               AlphaComposite.getInstance(AlphaComposite.SRC);

Cuando se selecciona una regla de composición o un valor alpha, se llama de nuevo a AlphaComposite.getInstance, y el nuevo AlphaComposite se asigna a ac. El alpha seleccionado se aplica al valor alpha de cada pixel y se le pasa un segundo parámetro a AlphaComposite.getInstance.

ac = AlphaComposite.getInstance(getRule(rule), alpha);

El atributo composite se modifica pasando el objeto AlphaComposite a Graphics 2D setComposite. Los objetos son renderizados dentro de un BufferedImage y más tarde se copian en la pantalla, por eso el atributo composite se configura con el contexto Graphics2D para el BufferedImage.

BufferedImage buffImg = new BufferedImage(w, h,
                            BufferedImage.TYPE_INT_ARGB);
Graphics2D gbi = buffImg.createGraphics();
...
gbi.setComposite(ac);
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