redimensionnement de l'image en java


J'ai une image png et je veux la redimensionner.Comment puis-je le faire? Bien que j'ai traverséce je ne peux pas comprendre l'extrait.

Author: Community, 2011-05-05

3 answers

Si vous avez un Image, le rezising ne nécessite pas de bibliothèques supplémentaires. Faites simplement:

Image newImage = yourImage.getScaledInstance(newWidth, newHeight, Image.SCALE_DEFAULT);

Ovbiously, remplacer newWidth et newHeight, avec les dimensions de l'image spécifiée.
Notez le dernier paramètre: il indique au runtime l'algorithme que vous souhaitez utiliser pour le redimensionnement.

Il existe des algorithmes qui produisent un résultat très précis, mais ceux-ci prennent beaucoup de temps à compléter.
Vous pouvez utiliser l'un des éléments suivants algorithmes:

  • Image.SCALE_DEFAULT: Utilisez l'algorithme de mise à l'échelle d'image par défaut.
  • Image.SCALE_FAST: Choisissez un algorithme de mise à l'échelle d'image qui accorde une priorité plus élevée à la vitesse de mise à l'échelle qu'à la douceur de l'image mise à l'échelle.
  • Image.SCALE_SMOOTH: Choisissez un algorithme de mise à l'échelle d'image qui donne une priorité plus élevée à la douceur de l'image qu'à la vitesse de mise à l'échelle.
  • Image.SCALE_AREA_AVERAGING: Utilisez l'algorithme de mise à l'échelle de la moyenne de surface de l'image.
  • Image.SCALE_REPLICATE: l'Utilisation de l'image algorithme de mise à l'échelle incorporé dans la classe ReplicateScaleFilter.

Voir le Javadoc pour plus d'informations.

 50
Author: Alba Mendez, 2018-01-04 10:01:41

, Nous faisons cela pour créer des vignettes d'images:

  BufferedImage tThumbImage = new BufferedImage( tThumbWidth, tThumbHeight, BufferedImage.TYPE_INT_RGB );
  Graphics2D tGraphics2D = tThumbImage.createGraphics(); //create a graphics object to paint to
  tGraphics2D.setBackground( Color.WHITE );
  tGraphics2D.setPaint( Color.WHITE );
  tGraphics2D.fillRect( 0, 0, tThumbWidth, tThumbHeight );
  tGraphics2D.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR );
  tGraphics2D.drawImage( tOriginalImage, 0, 0, tThumbWidth, tThumbHeight, null ); //draw the image scaled

  ImageIO.write( tThumbImage, "JPG", tThumbnailTarget ); //write the image to a file
 11
Author: Thomas, 2011-05-05 10:03:17

Essayez ceci:

ImageIcon icon = new ImageIcon(UrlToPngFile);
Image scaleImage = icon.getImage().getScaledInstance(28, 28,Image.SCALE_DEFAULT);
 5
Author: Harry Joy, 2011-05-05 10:03:01