Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

Are you a Java Developer working with Image files?

Read and write images in Java with JDeli

How to resize images in Java

43 sec read

image formats java

In this article, I will show you how to resize images in Java.

ImageIO allows the reading and writing of images in Java and processing the image. I will also cover image resizing using our JDeli image library.

How to resize an image in ImageIO

  1. Create a File handle, InputStream, or URL pointing to the raw image.
  2. ImageIO will now be able to read a BMP file into a BufferedImage. This syntax is like so:
    BufferedImage image = ImageIO.read(bmpFileOrInputStreamOrURL)
  3. Create a second BufferedImage at the new size
    final int w = image.getWidth();
    final int h = image.getHeight();
    BufferedImage scaledImage = new BufferedImage((w * 2),(h * 2), BufferedImage.TYPE_INT_ARGB);
  4. Create a transformation
    final AffineTransform at = AffineTransform.getScaleInstance(2.0, 2.0);
    final AffineTransformOp ato = new AffineTransformOp(at, AffineTransformOp.TYPE_BICUBIC);
  5. Apply the transformation
    scaledImage = ato.filter(image, scaledImage);

How to resize an image in JDeli

  1. Add JDeli to your class or module path. (download the trial jar).
  2. Create a File, InputStream pointing to the raw image. You can also use a byte[] containing the image data.
  3. Read the image into a BufferedImage
    BufferedImage image = JDeli.read(bmpFile);
  4. Create a transformation
    ImageProcessingOperations operations = new ImageProcessingOperations();
    operations.scale(scalingFactor);
  5. Apply the transform
    image = JDeli.process(ImageProcessingOperations operations, 
    BufferedImage image);


Find out how to read and write images files in Java with JDeli:

Read: BufferedImage image = JDeli.read(streamOrFile);

Write: JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)

Learn more >>

Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.