亲宝软件园·资讯

展开

java图片裁切工具类 java实现图片裁切的工具类实例

5iasp 人气:0
想了解java实现图片裁切的工具类实例的相关内容吗,5iasp在本文为您仔细讲解java图片裁切工具类的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,图片裁切,工具类,下面大家一起来学习吧。

本文实例讲述了java实现图片裁切的工具类。分享给大家供大家参考,具体如下:

package com.yanek.util;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
public class ImgCutUtil {
 /**
  * @param args
  */
 public static void main(String[] args) {
  ImgCutUtil.cut(30, 50, 300, 400, "d:/1.jpg", "d:/100.jpg");
 }
 /**
  * 图片裁切
  * @param x1 选择区域左上角的x坐标
  * @param y1 选择区域左上角的y坐标
  * @param width 选择区域的宽度
  * @param height 选择区域的高度
  * @param sourcePath 源图片路径
  * @param descpath 裁切后图片的保存路径
  */
 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.next();
   iis = ImageIO.createImageInputStream(is);
   reader.setInput(iis, true);
   ImageReadParam param = reader.getDefaultReadParam();
   Rectangle rect = new Rectangle(x1, y1, width, height);
   param.setSourceRegion(rect);
   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();
    } catch (IOException e) {
     e.printStackTrace();
    }
    is = null;
   }
   if (iis != null) {
    try {
     iis.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
    iis = null;
   }
  }
 }
}

希望本文所述对大家Java程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论