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

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

Feedback about page:

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

Table Of Contents