我試着做下面的代碼:如何在Java中裁剪一些圖像區域?
private void crop(HttpServletRequest request, HttpServletResponse response){
int x = 100;
int y = 100;
int w = 3264;
int h = 2448;
String path = "D:images\\upload_final\\030311175258.jpg";
BufferedImage image = ImageIO.read(new File(path));
BufferedImage out = image.getSubimage(x, y, w, h);
ImageIO.write(out, "jpg", new File(path));
}
但一直給我同樣的錯誤:
java.awt.image.RasterFormatException: (x + width) is outside of Raster
sun.awt.image.ByteInterleavedRaster.createWritableChild(ByteInterleavedRaster.java:1230)
java.awt.image.BufferedImage.getSubimage(BufferedImage.java:1156)
哪裏是我的錯?
嗨夥計,這是。 – 2011-03-03 21:16:46
@Valter更新後的答案使其更清楚我們正在做什麼。 – corsiKa 2011-03-03 21:17:26
非常感謝你@glowcoder完美的作品我是第二種方法=) – 2011-03-03 21:28:14