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.
16
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 classeReplicateScaleFilter
.
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