|
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();
}
}
|