java中如何实现对已有图片的部分截图
2012-09-20 15:34
260 查看
———java中如何实现对已有图片的部分截图。比如我电脑上有一张800*600 大小的图片,我想要截取该图片中横向100~400,纵向200~350的区域 该怎么做啊?!!! ———————————————————————————————————————————————
importjava.awt.Rectangle;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStream;
importjava.util.Iterator;
importjavax.imageio.ImageIO;
importjavax.imageio.ImageReadParam;
importjavax.imageio.ImageReader;
importjavax.imageio.stream.ImageInputStream;
publicclassTest95{
//图片源
privatestaticfinalStringSRC_FILE="c://1.jpg";
//目标图片
privatestaticfinalStringDEST_FILE="c://2.jpg";
publicvoidreadUsingImageReader()throwsException{
//取得图片读入器
Iteratorreaders=ImageIO.getImageReadersByFormatName("jpg");
System.out.println(readers);
ImageReaderreader=(ImageReader)readers.next();
System.out.println(reader);
//取得图片读入流
InputStreamsource=newFileInputStream(SRC_FILE);
ImageInputStreamiis=ImageIO.createImageInputStream(source);
reader.setInput(iis,true);
//图片参数
ImageReadParamparam=reader.getDefaultReadParam();
Rectanglerect=newRectangle(100,200,300,150);//100,200是左上起始位置,300就是取宽度为300的,就是从100开始取300宽,就是横向100~400,同理纵向200~350的区域就取高度150
param.setSourceRegion(rect);
BufferedImagebi=reader.read(0,param);
ImageIO.write(bi,"jpg",newFile(DEST_FILE));
}
publicstaticvoidmain(String[]args)throwsException{//main方法测试用
Test95t=newTest95();
t.readUsingImageReader();
}
}
相关文章推荐
- 如何实现在已有代码之后添加逻辑之java动态代理
- 让input支持 ctrl v上传粘贴图片? 让input支持QQ截图或剪切板中的图像数据(Java实现保存)
- 如何以Java实现网页截图技术
- Java程序设计第十七周之图片的随机显示部分实现
- 如何实现 java 接口中的部分方法
- Java以struts2为例介绍如何实现图片上传
- 如何以Java实现网页截图技术
- 如何以Java实现网页截图技术
- java实现通讯录部分截图
- 如何以Java实现网页截图技术
- 如何以Java实现网页截图技术
- 如何以Java实现网页截图技术
- JQ插件之imgAreaSelect实现对图片的在线截图功能(java版)
- Java面试题1:MVC的各个部分都有那些技术来实现?如何实现
- java实现html转图片功能或直接后台截图
- java 实现根据url,将url对应的网页存为一张完整的图片,不是截图,也就是图片是整个网页的内容
- Webdriver中实现区域截图的方式以及如何截取frame中的图片
- 如何用Java实现把excel表中的数据导入到mysql数据库已有的表中
- Java如何实现图片裁剪预览功能
- Universal-Image-loader 部分源码讲解 及 如何 配合阿里云 实现图片缓存。