package com.digitalcity.test; 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 ImgCutUtil { public void readUsingImageReader(String src, String dest) throws Exception { // 取得图片读入器 Iterator readers = ImageIO.getImageReadersByFormatName("jpg"); ImageReader reader = (ImageReader) readers.next(); // 取得图片读入流 InputStream source = new FileInputStream(src); ImageInputStream iis = ImageIO.createImageInputStream(source); reader.setInput(iis, true); // 图片参数 ImageReadParam param = reader.getDefaultReadParam(); InputStream inputStream = new FileInputStream(new File(src)); // 图片信息 BufferedImage bufferedImage = ImageIO.read(inputStream); // 100,200是左上起始位置,300就是取宽度为300的,就是从100开始取300宽,就是横向100~400,同理纵向200~350的区域就取高度150 // Rectangle rect = new Rectangle(100, 200, 300, 150);// Rectangle rect = new Rectangle(0, 100, bufferedImage.getWidth(), bufferedImage.getHeight()-200); param.setSourceRegion(rect); BufferedImage bi = reader.read(0, param); //write ImageIO.write(bi, "jpg", new File(dest)); } public static void main(String[] args) throws Exception { // main方法测试用 ImgCutUtil t = new ImgCutUtil(); t.readUsingImageReader("D:\\22.jpg", "D:\\33.jpg"); } }
最近下载更多
shiropurple LV2
2022年5月8日
haiwen LV19
2018年11月8日
daniel_gjg LV25
2016年11月8日
xiaobaicai LV25
2015年5月4日
407860964 LV20
2014年8月4日
zhaoyanan LV3
2014年6月6日
陌落馨 LV6
2014年6月5日
diaodiaofly LV21
2014年6月5日
wgtgt LV24
2014年6月5日
最代码官方 LV168
2014年6月5日
最近浏览更多
woldxy LV12
2023年9月27日
shiropurple LV2
2022年5月8日
locklock LV2
2022年4月2日
danxht LV6
2021年3月21日
MrReady LV14
2020年12月27日
yt94103629 LV2
2020年11月30日
jackychen1012 LV2
2020年10月29日
w19991213 LV2
2020年9月21日
kevinkg LV12
2020年6月21日
13925697941 LV1
2020年5月14日