Bonjour,
Je cherche comment redimentionner une image que je récupère via un JFileChooser (image = jf.getSelectedFile().getAbsolutePath()
Si quelqu'un pourrait m'aider =)
Bonjour,
Je cherche comment redimentionner une image que je récupère via un JFileChooser (image = jf.getSelectedFile().getAbsolutePath()
Si quelqu'un pourrait m'aider =)
Et voila
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 BufferedImage buffer = ImageIO.read(image); BufferedImage small = new BufferedImage(nouvelleLargeur, nouvelleHauteur, buffer.getType()); Graphics g = small.getGraphics(); g.drawImage(buffer, 0, 0, small.getWidth(), small.getHeight(), null); g.dispose();
J'ai qque questions sur le bout de code que tu a donné.BufferedImage buffer = ImageIO.read(image);
BufferedImage small = new BufferedImage(nouvelleLargeur, nouvelleHauteur, buffer.getType());
Graphics g = small.getGraphics();
g.drawImage(buffer, 0, 0, small.getWidth(), small.getHeight(), null);
g.dispose();
Comment obtiens tu "image" (url,fichier,...) ?
Pourquoi fait tu un drawImage de buffer, ce n'est pas small qu'il faut afficher?
Pourquoi fait tu g.dispose()? Je croyais que ca voulais dire au garbage collector qu'il peut faire son travail avec cet objet.
Merci d'avance!
J'en sais rien, ca depend de ton application. La classe ImageIO a plusieurs surcharges de read() qui acceptent une URL, un fichier ou meme un InputStream. A toi de voir.Comment obtiens tu "image" (url,fichier,...) ?
Ce drawImage() dessiner buffer dans small mais en la reduisant. Le but ici est de creer dans small une copie plus petite de buffer.Pourquoi fait tu un drawImage de buffer, ce n'est pas small qu'il faut afficher?
La signification de dispose() depend de l'API, pas du GC. Dans ce cas c'est important car Java2D alloue des ressources pour faire son travail et l'appel a dispose() permet de s'assurer qu'on les libere.Pourquoi fait tu g.dispose()? Je croyais que ca voulais dire au garbage collector qu'il peut faire son travail avec cet objet.
Il peut etre egalement interessant de changer les indices de rendu (RenderingHints.KEY_INTERPOLATION) sur le graphics de destination (pour aggrandissement ou retrecissement) voir carrement de passer un filtre de type "sharpen" sur l'image finale (ConvolveOp avec ConvolveOp.EDGE_NO_OP et un kernel de type [0, -0.125f, 0, -0.125f, 1.5f, -0.125f, 0, -0.125f, 0] ou similaire*) surtout si on retrecit l'icon.
*
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 0, -r/4, 0, -r/4, +r, -r/4, 0, -r/4, 0
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager