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.

How to crop an image in Java

In this article, I will show you how to crop an image in Java using just ImageIO or JDeli.

ImageIO

Step 1 Load the image file using Java ImageIO (which is built into Java)

BufferedImage image = ImageIO.read(new File("C:\\path\\to\\kitten.jpg"));

Step 2 Get a cropped version (x, y, width, height) (0,0 is top left corner)

BufferedImage crop = image.getSubimage(0,0, 100, 100);

Step 3 Save the image back to a File

ImageIO.write(crop, "JPEG", new File("C:\\path\\to\\picture.jpeg"));

Note it is important to save the image before applying any other changes as the BufferedImage object is shared between the original and new crop object.

JDeli

Step 1 Create a Crop ImageOperation in JDeli (here is how to setup JDeli)

ImageProcessingOperations imageOps = new ImageProcessingOperations();imageOps.crop(new Rectangle(0, 0, 100, 100)); //you can add other Operations as well

Step 2 Get a cropped version (x, y, width, height) (0,0 is top left corner)

JDeli.convert(new File("C:\\path\\to\\picture.jpeg"), new File("C:\\path\\to\\crop.jpeg"), imageOps);

And that is all you need to do!!!

Start reading and writing images with one line of code

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

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

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.