How to scale a BufferedImage

suggest change
/**
* Resizes an image using a Graphics2D object backed by a BufferedImage.
* @param srcImg - source image to scale
* @param w - desired width
* @param h - desired height
* @return - the new resized image
*/
private BufferedImage getScaledImage(Image srcImg, int w, int h){

   //Create a new image with good size that contains or might contain arbitrary alpha values between and including 0.0 and 1.0.
   BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TRANSLUCENT);

   //Create a device-independant object to draw the resized image
   Graphics2D g2 = resizedImg.createGraphics();

   //This could be changed, Cf. http://stackoverflow.com/documentation/java/5482/creating-images-programmatically/19498/specifying-image-rendering-quality
   g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

   //Finally draw the source image in the Graphics2D with the desired size.
   g2.drawImage(srcImg, 0, 0, w, h, null);

   //Disposes of this graphics context and releases any system resources that it is using
   g2.dispose();

   //Return the image used to create the Graphics2D 
   return resizedImg;
}

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Creating Images Programmatically:
* How to scale a BufferedImage

Table Of Contents
8 Arrays
10 Maps
11 Strings
25 JAXB
29 Enums
32 Audio
41 Scanner
63 Logging
75 Lists
78 Sets
89 JAX-WS
96 XJC
98 Process
106 Modules
113 Creating Images Programmatically
114 Applets
122 JNDI
139 JavaBean
141 Literals
144 Packages
150 JMX
153 JShell
159 Sockets
167 Enum Map
175 Hashtable
177 SortedMap