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.
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);