2010-05-04 35 views
0

Je JAI essaie d'utiliser pour créer une JAI mosaïque unique composée de 4 images TIF dont chacun est 5000 x 5000. Le code que je l'ai écrit est la suivante ..problème créant une mosaïque d'images à l'aide

RenderedOp mosaic=null; 
    ParameterBlock pbMosaic=new ParameterBlock(); 
    pbMosaic.add(MosaicDescriptor.MOSAIC_TYPE_OVERLAY); 
    RenderedOp in=null; 
    // Get 4 tiles and add them to the Mosaic 
    in=returnRenderedOp(path,"northwest.tif"); 
    pbMosaic.addSource(in); 
    in=returnRenderedOp(path,"northeast.tif"); 
    pbMosaic.addSource(in); 
    in=returnRenderedOp(path,"southwest.tif"); 
    pbMosaic.addSource(in);  
    in=returnRenderedOp(path,"southeast.tif"); 
    pbMosaic.addSource(in); 
    // Setup the ImageLayout 
    ImageLayout imageLayout=new ImageLayout(0,0,10000,10000); 
    imageLayout.setTileWidth(5000); 
    imageLayout.setTileHeight(5000); 
    imageLayout.setColorModel(in.getColorModel()); 
    imageLayout.setSampleModel(in.getSampleModel()); 
    mosaic=JAI.create("mosaic",pbMosaic,new RenderingHints(JAI.KEY_IMAGE_LAYOUT,imageLayout)); 

Le problème est que toutes les 4 images sont positionnées au même endroit dans le coin supérieur gauche de la mosaïque, donc les trois autres quarts sont vides. Quelqu'un peut-il me dire comment je peux choisir la position de chaque image qui compose la mosaïque afin que chacun apparaisse au bon endroit?

Merci

Ian

Répondre

1

http://download.oracle.com/docs/cd/E17802_01/products/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/operator/MosaicDescriptor.html

Je pense que vous avez mal compris le document que vous devez définir le minX minY pour chaque image source avant l'opération.

northwest.tif devrait avoir minX = 0 et minY = 0,

northeast.tif devrait avoir minX = 5000 et minY = 0,

southwest.tif devrait avoir minX = 0, minY = 5000 et

southeast.tif devrait avoir Minx = 5000 et minY = 5000

Dans le doc ils suggèrent que vous désérialiser les fichiers directement « déplacé » en utilisant le rendu indice sur l'opération de désérialisation.

D'une certaine manière, la mosaïque est juste une opération de composition normale.