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(); } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章