bonjour
j'essaye de realiser une applet qui presente sous forme de vignettes
les images d'un repertoire
Seulement a chaque execution, le resultat est different
et en general, a partir de la 6 ou 7eme execution, les executions suivantes donne le resultat attendu.
voici la methode init() de mon applet
Dans la methode paint() il y a une boucle sur toutes les images
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 public void init() { .... for (int i=0; i<pixStrVect.size(); i++) { pix = getImage(getCodeBase(), pixStrVect.elementAt(i)); pixWidth = pix.getWidth(this); pixHeight = pix.getHeight(this); if (pixWidth == pixHeight) { thumbWidth = 101; thumbHeight = 101; } else if (pixWidth > pixHeight) { thumbWidth = 102; thumbHeight = 103; } else if (pixWidth < pixHeight) { thumbHeight = 104; thumbWidth = 105; } thumbWidthVect.add(thumbWidth); thumbHeightVect.add(thumbHeight); pixWidthVect.add(pixWidth); pixHeightVect.add(pixHeight); thumb = pix.getScaledInstance(thumbWidth, thumbHeight, pix.SCALE_FAST); thumbVect.add(thumb); } }
dans chaque iteration j'affiche entre crochet la taille de l'image initiale
et entre parenthese la taille de la vignette
voila le resultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 g.drawImage(thumbVect.elementAt(i), x, 0, this); g.drawString(pixStrVect.elementAt(i), x, y); g.drawString(""+i+":["+pixWidthVect.elementAt(i)+","+pixHeightVect.elementAt(i)+"]"+ "("+thumbWidthVect.elementAt(i)+","+thumbHeightVect.elementAt(i)+")", x, y);
execution 1: -1 de partout !!
execution 2: la hauteur 375 de la 1ere image est bonne
execution 4 a 6: comme l'execution 1
execution 7: tout est bon !!
Si quelqu'un peut m'aider je l'en remercie.
Partager