2014-11-06 36 views
3

我正在使用Java高級映像。我已經有了這些瓷磚,並希望將所有瓷磚放在一個PlanarImage中。下面的代碼返回以下錯誤信息:Java JAI - 錯誤:一個工廠的操作「馬賽克」失敗

錯誤:一個廠爲失敗的操作「馬賽克」 異常線程「main」 javax.media.jai.util.ImagingException:所有工廠失敗操作「馬賽克「

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

您只聲明存儲瓦片的陣列。你實際上並沒有將這些圖塊加載到數組中。

+1

我知道它很久之前你評論。 – Cruik 2014-11-06 14:15:53