JAVA 如何实现对已有图片的部分截图

java中如何实现对已有图片的部分截图。比如我电脑上有一张800*600大小的图片,我想要截取该图片中横向100~400,纵向200~350的区域该怎么做啊?!!!哪位大... java中如何实现对已有图片的部分截图。比如我电脑上有一张800*600
大小的图片,我想要截取该图片中横向100~400,纵向200~350的区域
该怎么做啊?!!!
哪位大哥帮下忙啊。!!!
谢谢了!
本人是初学的,希望能有代码。。。
展开
 我来答
citytalent
2008-11-04 · TA获得超过1222个赞
知道小有建树答主
回答量:542
采纳率:0%
帮助的人:589万
展开全部
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Iterator;

import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;

public class Test95 {
// 图片源

private static final String SRC_FILE = "c://1.jpg";

// 目标图片

private static final String DEST_FILE = "c://2.jpg";

public void readUsingImageReader() throws Exception{

// 取得图片读入器

Iterator readers = ImageIO.getImageReadersByFormatName("jpg");

System.out.println(readers);

ImageReader reader = (ImageReader) readers.next();

System.out.println(reader);

// 取得图片读入流

InputStream source = new FileInputStream(SRC_FILE);

ImageInputStream iis = ImageIO.createImageInputStream(source);

reader.setInput(iis, true);

// 图片参数

ImageReadParam param = reader.getDefaultReadParam();

Rectangle rect = new Rectangle(100, 200, 300, 150);//100,200是左上起始位置,300就是取宽度为300的,就是从100开始取300宽,就是横向100~400,同理纵向200~350的区域就取高度150

param.setSourceRegion(rect);

BufferedImage bi = reader.read(0, param);

ImageIO.write(bi, "jpg", new File(DEST_FILE));

}
public static void main(String[] args) throws Exception{ //main方法测试用
Test95 t =new Test95();
t.readUsingImageReader();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式