public static void cutImage(File file) {
String fileName = file.getPath();
String lastName = fileName.substring(fileName.lastIndexOf(".") + 1,fileName.length());
FileInputStream fis = null;
ImageInputStream iis = null;
try {
/**读取图片*/
Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName(lastName);
ImageReader reader = it.next();
/**获取图片流*/
fis = new FileInputStream(file);
iis = ImageIO.createImageInputStream(fis);
reader.setInput(iis, true);
ImageReadParam param = reader.getDefaultReadParam();
BufferedImage image = null;
image = ImageIO.read(file);
int width = image.getWidth();
int height = image.getHeight();
Rectangle rect;
if (300 < height) {
rect = new Rectangle(0, 0, width, height-50);
} else {
rect = new Rectangle(0, 0, width, height);
}
param.setSourceRegion(rect);
BufferedImage bi = reader.read(0, param);
ImageIO.write(bi, lastName, file);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (fis != null) {
fis.close();
}
if (iis != null) {
iis.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}