Redimensionnement d'une image en swing

J'ai un bout de code que j'utilise pour le but de redimensionnement d'une image d'un rideau de taille (je veux changer la résolution à quelque chose comme 200 dpi). Fondamentalement, la raison que j'ai besoin c'est parce que je veux afficher l'image que l'utilisateur a choisi (un peu grand), et ensuite si l'utilisateur approuve je veux afficher la même image dans un endroit différent, mais en utilisant une plus petite résolution. Malheureusement, si je lui donne une grande image, rien ne s'affiche sur l'écran. Aussi, si je change

imageLabel.setIcon(newIcon); 

à

imageLabel.setIcon(icon); 

- Je obtenir de l'image à afficher, mais pas dans la bonne résolution, c'est comment je sais que j'ai un problème à l'intérieur de ce snipper de code et pas ailleurs.

Image img = icon.getImage();

BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
BufferedImage bi = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
boolean myBool = g.drawImage(img, 0, 0, 100, 100, null);
System.out.println(myBool);
ImageIcon newIcon = new ImageIcon(bi);
imageLabel.setIcon(newIcon);
submitText.setText(currentImagePath);
imageThirdPanel.add(imageLabel);
  • 1) Avez-vous une question? 2) Remarque que tout à ImageIcon newIcon = new ImageIcon(bi); est AWT, pas de Swing. 3) Il est 'Swing', pas de 'swing' 4) Pour mieux aider plus tôt, après une SSCCE.
  • Ok. Je ne suis pas afficher tout le code car il est trop long. Aussi, je ne sais pas pourquoi vous dites que c'est Swing et pas de swing (c'est ce que j'ai reçu de l'auto complete quand je suis entré dans la balise - je ne vois pas en quoi c'est de ma faute). Je pense que c'est SSCCE. Comme je l'ai dit le reste du code qui fonctionne, je suis sûr qu'il y a un problème dans cet extrait de code. Probablement lorsque je dessine l'Image, mais je ne suis pas sûr de ce que.
  • "Je pense que c'est SSCCE." Vous pensez mal. Veuillez lire le document.
  • Pourquoi n'utilisez-vous pas Image.getScaledInstance()?
InformationsquelleAutor Paul Kar. | 2011-11-27