lundi 14 janvier 2013

Transparence dans les images Java

Java permet de créer nativement des images transparentes.

Lorsqu'une image est créée, si le paramètre BufferedImage.TYPE_INT_ARGB est indiqué, l'image supportera l'alpha chanel, soit la gestion de transparence.

Par défaut, toute l'image est transparente.

Il peut être intéressant de créer un couleur de transparence qui sera mis dans un tableau par exemple.

Ci dessous voici un exemple complet d'image transparente et de création de couleur transparente :
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;

// Buffer image with transparancy support (alpha chanel)
final BufferedImage image = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB) ;

// Graphic
final Graphics2D g2 = image.createGraphics() ;

// Create color. True is to say the color value contain alpha chanel
// Here, alpha chanel is 0x00
Color c = new Color(0x00FFFFFF, true) ;

g2.setColor(color) ;

final Rectangle rect = new Rectangle(0, 0, 19, 19) ;

// All picture is transparent. Realy not necessary because at create time all picture is transparent
g2.fill(rect) ;

// No transpancy
Color c = new Color(0x000000) ;

// Draw line
g2.drawLine(0, 0, 19, 19) ;

Aucun commentaire:

Enregistrer un commentaire