我正在使用Java Advanced Imaging。我已经有了瓷砖,并希望将所有瓷砖放在一个PlanarImage中。下面的代码返回以下错误消息:
错误:一个工厂因“Mosaic”操作失败 线程“main”中的异常javax.media.jai.util.ImagingException:所有工厂都因“Mosaic”操作失败
public static void loadTiles() {
RenderedImage[] source = new RenderedImage[new File("C:\\Users\\user\\workspace\\tiles\\67").listFiles().length-1];
System.out.println(source.length);
ImageLayout il = new ImageLayout(0, 0, 3306, 2336);
RenderingHints rh = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, il);
RenderedOp ro = MosaicDescriptor.create(source, MosaicDescriptor.MOSAIC_TYPE_OVERLAY, null, null, null, null, rh);
System.out.println(ro.getData()); // <<<< Throws Exception
PlanarImage pi = ro.createInstance();
File outputFile = new File("C:\\Users\\dgrimm\\workspace\\tiles\\output");
System.out.println(outputFile.getAbsolutePath());
JAI.create("filestore", pi, outputFile.getAbsolutePath(), "png");
}
你能帮我解决一下错误吗?
答案 0 :(得分:0)
您只声明了存储切片的数组。您实际上没有将磁贴加载到数组中。