Resizing images is a common task for Java developers working with images. In this guide, you will learn how to resize images in Java using both the built-in ImageIO Java library and the advanced, enterprise-grade JDeli Java image library.
We’ll cover the steps, provide code examples and discuss considerations such as maintain aspect ratio and image quality for efficient Java image processing.
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. JDeli is the best enterprise-level Java image library for image manipulation.
How to resize an image in ImageIO
- Create a File handle, InputStream, or URL pointing to the raw image.
- ImageIO will now be able to read a BMP file into a BufferedImage.
- Create a second BufferedImage at the new size
- Create a transformation
- Apply the transformation
and the Java code to resize an image in ImageIO…
File imageFile = new File("C:\\path\\to\\pdf\\image.tif");
BufferedImage image = ImageIO.read(imageFile);
final int w = image.getWidth();
final int h = image.getHeight();
BufferedImage scaledImage = new BufferedImage((w * 2), (h * 2), BufferedImage.TYPE_INT_ARGB);
final AffineTransform at = AffineTransform.getScaleInstance(2.0, 2.0);
final AffineTransformOp ato = new AffineTransformOp(at, AffineTransformOp.TYPE_BICUBIC);
scaledImage = ato.filter(image, scaledImage);
How to resize an image in JDeli
JDeli Java is a robust, enterprise-level Java image library that supports a wide range of formats and advanced Java image processing features. It is ideal for applications that require high reliability and performance.
You can resize an image using JDeli with the following steps:
- Add JDeli to your class or module path. (download the trial jar).
- Create a File, InputStream pointing to the raw image. You can also use a byte[] containing the image data.
- Read the image into a BufferedImage
- Create a transformation
- Apply the transformation
and the Java code to resize an image in JDeli…
File imageFile = new File("C:\\path\\to\\pdf\\exampleImage.tif");
BufferedImage image = JDeli.read(imageFile);
ImageProcessingOperations operations = new ImageProcessingOperations();
operations.scale(scalingFactor);
image = JDeli.process(ImageProcessingOperations operations,
BufferedImage image);
In summary, whether you use ImageIO Java for basic tasks or JDeli Java for advanced Java image manipulation, you have powerful tools for Java image resizing and processing.
Both libraries allow you to scale image Java, maintain aspect ratio Java image, and integrate image processing into your applications.
Are you a Java Developer working with Image files?
// Read an image
BufferedImage bufferedImage = JDeli.read(avifImageFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(dicomImageFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(heicImageFile);
// Write an image
JDeli.write(bufferedImage, "heic", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(jpegImageFile);
// Write an image
JDeli.write(bufferedImage, "jpeg", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(jpeg2000ImageFile);
// Write an image
JDeli.write(bufferedImage, "jpx", outputStreamOrFile);
// Write an image
JDeli.write(bufferedImage, "pdf", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(pngImageFile);
// Write an image
JDeli.write(bufferedImage, "png", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(tiffImageFile);
// Write an image
JDeli.write(bufferedImage, "tiff", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(webpImageFile);
// Write an image
JDeli.write(bufferedImage, "webp", outputStreamOrFile);
What is JDeli?
JDeli is a commercial Java Image library that is used to read, write, convert, manipulate and process many different image formats.
Why use JDeli?
To handle many well known formats such as JPEG, PNG, TIFF as well as newer formats like AVIF, HEIC and JPEG XL in java with no calls to any external system or third party library.
What licenses are available?
We have 3 licenses available:
Server for on premises and cloud servers, Distribution for use in a named end user applications, and Custom for more demanding requirements.
How does JDeli compare?
We work hard to make sure JDeli performance is better than or similar to other java image libraries. Check out our benchmarks to see just how well JDeli performs.