欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java实现的图片裁剪功能示例

程序员文章站 2024-02-24 22:08:16
本文实例讲述了java实现的图片裁剪功能。分享给大家供大家参考,具体如下: piccut.java: package tsets; import java.a...

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

piccut.java:

package tsets;
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 piccut {
  public void cut(int x,int y,int width,int height,string srcpath,string subpath) throws ioexception {//裁剪方法
    fileinputstream is = null;
    imageinputstream iis = null;
    try {
      is = new fileinputstream(srcpath); //读取原始图片
      iterator<imagereader> it = imageio.getimagereadersbyformatname("jpg"); //imagereader声称能够解码指定格式
      imagereader reader = it.next();
      iis = imageio.createimageinputstream(is); //获取图片流
      reader.setinput(iis, true); //将iis标记为true(只向前搜索)意味着包含在输入源中的图像将只按顺序读取
      imagereadparam param = reader.getdefaultreadparam(); //指定如何在输入时从 java image i/o框架的上下文中的流转换一幅图像或一组图像
      rectangle rect = new rectangle(x, y, width, height); //定义空间中的一个区域
      param.setsourceregion(rect); //提供一个 bufferedimage,将其用作解码像素数据的目标。
      bufferedimage bi = reader.read(0, param); //读取索引imageindex指定的对象
      imageio.write(bi, "jpg", new file(subpath)); //保存新图片
    } finally {
      if (is != null)
        is.close();
      if (iis != null)
        iis.close();
    }
  }
  public static void main(string[] args) throws exception {
      piccut pc = new piccut();
    pc.cut(20, 20, 100, 100,"d:\\1.jpg","d:\\11.jpg");
    system.out.println("ok");
  }
}

ps:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用:

在线图片转换base64工具:

ico图标在线生成工具:

在线email邮箱图标制作工具:

在线图片格式转换(jpg/bmp/gif/png)工具:

更多java相关内容感兴趣的读者可查看本站专题:《java图片操作技巧汇总》、《java日期与时间操作技巧汇总》、《java操作dom节点技巧总结》、《java文件与目录操作技巧汇总》及《java数据结构与算法教程》。

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