我正在使用 Java 程序进行一些图像处理,目前我正在处理一些相当大的图像(在千兆像素的数量级上)。
毫不奇怪,由于以下异常,我无法做很多事情:
Exception:
java.lang.IllegalArgumentException: Array size > Integer.MAX_VALUE!
at javax.imageio.ImageTypeSpecifier.createBufferedImage(ImageTypeSpecifier.java:1064)
at javax.imageio.ImageReader.getDestination(ImageReader.java:2879)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1046)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1014)
at javax.imageio.ImageIO.read(ImageIO.java:1422)
at javax.imageio.ImageIO.read(ImageIO.java:1282)
...
我想知道是否有任何方法可以通过用另一个支持大图像的兼容类重载 BufferedImage 类来规避这个限制?