Bonjour,
Je travail actuellement avec un bufferedImage que je dessine dans un panel. Je dois réaliser des zooms et dezooms sur ce bufferedImage.
Quelles classes puis-je utiliser pour réaliser ces 2 fonctions?
Merci
Version imprimable
Bonjour,
Je travail actuellement avec un bufferedImage que je dessine dans un panel. Je dois réaliser des zooms et dezooms sur ce bufferedImage.
Quelles classes puis-je utiliser pour réaliser ces 2 fonctions?
Merci
si tu boss avec un Graphics2D tu as déjà des méthodes toutes faites pour ça (scale je pense), tu peux même faire de l'interpolation pour ne pas avoir l'effet "pixel" qd tu zoom
Yess david mais j'ai un stress
Ce code n'a pas l'air de fonctionner poutant je pense faire ce qu'il faut !
La fonction set buffer je l'ai implémentée moi meme elle va seulement faire un repaint() du panelCode:
1
2
3
4
5
6
7
8 AffineTransform tx = new AffineTransform(); tx.scale(2, 2); g2.transform(tx); g2.drawImage(buffer.getSubimage(0, 0, this.MEMORYWIDTH, this.MEMORYHEIGHT),0,0, this.MEMORYWIDTH, this.MEMORYHEIGHT, null); monPanel.setBuffer(buffer,panelPositionX,panelPositionY);
ça fonctionne c sur pasque je l'ai utilisée moi...
Tu fais ça ou exactement? le bout de code que tu as posté il se trouve ou ds ta classe? ds la méthode main?
J'ai résolu le pblm en utilisant ceci
Je suppose que c'est la même choseCode:
1
2
3
4
5 Image im =buffer.getSubimage(0, 0, this.MEMORYWIDTH/2, this.MEMORYHEIGHT/2).getScaledInstance(this.MEMORYWIDTH/2,this.MEMORYHEIGHT/2,Image.SCALE_FAST); g2.drawImage(im,0,0, this.MEMORYWIDTH, this.MEMORYHEIGHT, null); monPanel.setBuffer(buffer,panelPositionX,panelPositionY);
sans doute ui :-) si ça marche c le principal ;-)