当前位置: 移动技术网 > IT编程>开发语言>Java > java实现图片裁切的工具类实例

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网