Bonjour à tous,

Je suis en train de réaliser une petit applet dans laquel il me faut dessiner un polygone sur une photo. Je m'explique, je dois afficher une photo, et ensuite cliquer via la souris sur quelques points de la photo afin de dessiner le polygone.
En utilisant les source trouver sur ce site je suis arriver d'un coté a afficher une photo via ce bout de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
  public void init () 
  { 
    // Création d'une image et lancement de son chargement 
    img = getImage (getCodeBase (), "test.jpg"); 
    prepareImg (img, this); 
 
  } 
 
  public void paint (Graphics gc) 
  { 
      gc.drawImage (img, 0, 0, this); 
  }
et d'un autre coté, j'arrive a afficher un polygone sur un fond blanc ( ie une image vierge), via ce long code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
 
public class test extends Applet 
implements MouseListener, MouseMotionListener {
 
	Image img=null;
	Graphics gi=null;
	point un, deux, trois, quatre; 
 
	public void init() {
		addMouseListener(this);
		addMouseMotionListener(this);
		un = new point(0,0);
		deux = new point(0,0);
		trois = new point(0,0);
		quatre = new point(0,0);
 
		img=createImage(getSize().width, getSize().height);
 
		gi=img.getGraphics();
 
	}
 
	public void paint (Graphics g) { 
		g.drawImage(img,0,0,this);
	}
 
	public void update (Graphics g) {
		paint(g);
	} 
 
	public void mousePressed(MouseEvent evt) {}
 
	public void mouseReleased(MouseEvent evt) {}
 
	public void mouseEntered(MouseEvent evt) {}
 
	public void mouseExited(MouseEvent evt) {}
 
	public void mouseClicked(MouseEvent evt)
	{
		if(!un.isDefini())
		{
			un.setX(evt.getX());
			un.setY(evt.getY());
			un.setDefini(true);
			System.out.println("point1 : X " + evt.getX() + " Y " + evt.getY()); 
			gi.fillOval(evt.getX()-3, evt.getY()-3, 6,6);
			gi.drawOval(evt.getX()-6, evt.getY()-6, 12,12);
			repaint();
		}
		else if(!deux.isDefini())
		{
			deux.setX(evt.getX());
			deux.setY(evt.getY());
			deux.setDefini(true);
			System.out.println("point2 : X " + evt.getX() + " Y " + evt.getY());
			gi.fillOval(evt.getX()-3, evt.getY()-3, 6,6);
			gi.drawOval(evt.getX()-6, evt.getY()-6, 12,12);
			gi.drawLine(un.getX(), un.getY(), deux.getX(), deux.getY());
			repaint();
		}
		else if(!trois.isDefini())
		{
			trois.setX(evt.getX());
			trois.setY(evt.getY());
			trois.setDefini(true);
			System.out.println("point3 : X " + evt.getX() + " Y " + evt.getY()); 
			gi.fillOval(evt.getX()-3, evt.getY()-3, 6,6);
			gi.drawOval(evt.getX()-6, evt.getY()-6, 12,12);
			gi.drawLine(deux.getX(), deux.getY(),trois.getX(), trois.getY() );
			repaint();
		}
		else if(!quatre.isDefini())
		{
			quatre.setX(evt.getX());
			quatre.setY(evt.getY());
			quatre.setDefini(true);
			System.out.println("point4 : X " + evt.getX() + " Y " + evt.getY()); 
			gi.fillOval(evt.getX()-3, evt.getY()-3, 6,6);
			gi.drawOval(evt.getX()-6, evt.getY()-6, 12,12);
			gi.drawLine(trois.getX(), trois.getY(),quatre.getX(), quatre.getY() );
			gi.drawLine(quatre.getX(), quatre.getY(),un.getX(), un.getY() );
			repaint();
		}
 
	}
	public void mouseDragged(MouseEvent evt) {}
 
	public void mouseMoved(MouseEvent evt) {}
}
cependant, si j'essaie de lié les deux code, soit je ne peut plus dessiner de polygone, soit la photo ne s'affiche pas.
Pourriez vous m'aiguiller vers la bonne direction?
Je pense personnellement que l'astuce se passe dans la gestion des graphique, mais comme je débute dans ce domaine, j'en suis vraiment pas spécialiste

Je vous remercie d'avance pour toute l'attentoin que vous pourrez m'apporter.

krater