This article describes the tool class for Java to implement image cropping. Share it for your reference, as follows:
package com.yanek.util;import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;imp ort java.io.IOException;import java.util.Iterator ;imagejavax.imageio.ImageIO;imagejavax.imageio.ImageReadParam;import javax.imageio.ImageReader;import javax.imageio.stream.ImageInp utStream;public class ImgCutUtil { /** * @param args */ public static void main(String [] args) { ImgCutUtil.cut(30, 50, 300, 400, "d:/1.jpg", "d:/100.jpg"); } /** * Image crop* @param x1 Select region x coordinates in the upper left corner* @param y1 Select the y coordinates in the upper left corner of the area* @param width Select the width of the area* @param height Select the height of the area* @param sourcePath SourcePath Source image path* @param descpath Save path of the image after cropping */ public static void cut(int x1, int y1, int width, int height, String sourcePath, String descpath) { FileInputStream is = null; ImageInputStream iis = null; try { is = new FileInputStream(sourcePath); String fileSuffix = sourcePath .substring(sourcePath .lastIndexOf(".") + 1); Iterator<ImageReader> it = ImageIO .getImageReadersByFormatName(fileSuffix); ImageReader reader = it.ne xt(); iis = ImageIO.createImageInputStream(is); reader.setInput( iis, true); ImageReadParam param = reader.getDefaultReadParam(); Rectangle rect = new Rectangle(x1, y1, width, height); param.setSourceRegion(re ct); BufferedImage bi = reader.read(0, param); ImageIO. write(bi, fileSuffix, new File(descpath)); } catch (Exception ex) { ex.printStackTrace(); } finally { if (is != null) { try { is.close(); } catc h (IOException e ) { e.printStackTrace(); } is = null; } if (iis != null) { try { iis.close(); } catch (IOException e) { e.printStackTrace(); } iis = null; } } }}I hope this article will be helpful to everyone's Java programming.