Sometimes, you need to crop an image. In order to crop image in java, we will use the method subimage from BufferedImage class.
bufferedImage.getSubimage(x, y, width, height);
Example:
This static method will return the cropped image given the starting x and y coordinate and the width and height that will be cropped from the image.
/** * Crops an image to the specified region * @param bufferedImage the image that will be crop * @param x the upper left x coordinate that this region will start * @param y the upper left y coordinate that this region will start * @param width the width of the region that will be crop * @param height the height of the region that will be crop * @return the image that was cropped. */ public static BufferedImage cropImage(BufferedImage bufferedImage, int x, int y, int width, int height){ BufferedImage croppedImage = bufferedImage.getSubimage(x, y, width, height); return croppedImage; }
File imageFile = new File("C:/Javapointers/image.jpg"); BufferedImage bufferedImage = ImageIO.read(imageFile);
This method will return the image buffered from the file.
After cropping the image, we can now save or write the file to the file system using:
File pathFile = new File("C:/Javapointers/image-crop.jpg"); ImageIO.write(image,"jpg", pathFile);
where image is the cropped image.