图像裁剪多个图像错误

Posted

技术标签:

【中文标题】图像裁剪多个图像错误【英文标题】:Image Crop multiple images error 【发布时间】:2014-09-17 10:34:32 【问题描述】:

我在 JSP 中编写了图像裁剪代码,但它仅适用于 1 个图像。对于其他图像,它会给出错误:

java.awt.image.RasterFormatException: (x + width) is outside of Raster

代码:

try 

    File image = new File("C://Users/Gc/Documents/NetBeansProjects/cropDemo/build/web/images/logo.png");
    BufferedImage image1 = ImageIO.read(image);

    BufferedImage crop = image1.getSubimage(557, 47, 600, 200);
    out.print(crop);
    ImageIO.write(crop, "png", new File("C://Users/Gc/Documents/NetBeansProjects/cropDemo/build/web/images/11.png"));
    String path = image.getName().trim();
    String path1 = "C://Users/Gc/Documents/NetBeansProjects/cropDemo/build/web/images/11.png";
 catch(Exception e) 
    out.print(e);

【问题讨论】:

【参考方案1】:

当 [ x,y : x+width, y+height] 指定的区域不包含在 BufferedImage 区域内时,getSubImage() 会抛出 RasterFormatException。 在您的情况下,x+width 在缓冲图像区域之外。因此您需要根据图像区域为 x+width 和 y+height 提供动态值

【讨论】:

以上是关于图像裁剪多个图像错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Python 和 OpenCV 裁剪图像中的多个 ROI

C#裁剪图像返回错误的坐标

裁剪图像出现错误

Jcrop 裁剪图像无法正常工作,正在裁剪错误的部分

图像裁剪器 theartofdev 库的 xml 文件中的错误

PHP裁剪图像 - 错误区域