Utilisation d'un TexturePaint pour remplir une figure géométrique avec une texture.


import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.geom.*;

public class TesteTexturePaint extends JFrame {

//initialise la JFrame
public TesteTexturePaint() {
super("teste");
setBounds(0,0,300,300);
setVisible(true);
}

//méthode qui dessine l’eclipse remplie à l’aide d’un TexturePaint
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
//Création de la BufferedImage
ImageIcon image = new ImageIcon("/texture.jpg");
BufferedImage bufferedImage = new BufferedImage(image.getIconWidth(), image.getIconHeight(), BufferedImage.TYPE_INT_RGB);

//initialisation de l’image
Graphics2D g2d2 = bufferedImage.createGraphics();
g2d2.drawImage(image.getImage(), 0, 0, this);

//création du rectangle aux dimension de la texture de fond
Shape imageRect = new Rectangle2D.Double(0.0, 0.0, bufferedImage.getWidth(), bufferedImage.getHeight());
//Création du TexturePaint
TexturePaint imagePaint1 = new TexturePaint(bufferedImage, imageRect.getBounds2D());
//Création de l’eclipse
Shape rectShape = new Ellipse2D.Double(40,40,200,200);

//dessine l’eclipse avec un contour et une texture de remplissage
g2d.setColor(Color.BLUE);
g2d.draw(rectShape);
g2d.setPaint(imagePaint1);
g2d.fill(rectShape);
}

//methode principale
public static void main(String args[]) {
new TesteTexturePaint();
}
}

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée