java通过ImageReader裁剪图片

/** * 图片裁剪 * * @param src 源图片地址,图片格式PNG * @param dest 目的图片地址 * @param x 图片起始点x座标 * @param y 图片起始点y座标 * @param w 图片宽度 * @param h 图片高度 * @param imageFormat 图片格式:jpg|png */ public static void cutImage(String src, String dest, int x, int y, int w, int h, String imageFormat) { try { //获取png图片的ImageReaderIterator Iterator iterator = ImageIO.getImageReadersByFormatName(imageFormat); //根据Iterator获取ImageReader ImageReader reader = (ImageReader) iterator.next(); //获取源图片输入流 InputStream in = new FileInputStream(src); //根据源图片输入流获得ImageInputStream ImageInputStream iis = ImageIO.createImageInputStream(in); //ImageInputStream流加载到ImageReader reader.setInput(iis, true); //图片读取参数 ImageReadParam param = reader.getDefaultReadParam(); Rectangle rect = new Rectangle(x, y, w, h); //参数对象设置形状为一定大小的长方形 param.setSourceRegion(rect); //ImageReader根据参数对象获得BufferedImage BufferedImage bi = reader.read(0, param); //将经过参数对象筛选的图片流写入目标文件中 ImageIO.write(bi, imageFormat, new File(dest)); } catch (IOException e) { e.printStackTrace(); } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章