开发者

Problem creating a mosaic of images using JAI

开发者 https://www.devze.com 2022-12-28 22:34 出处:网络
I\'m trying to use JAI to create a single mosaic consisting of 4 TIF images each of which is 5000 x开发者_JAVA百科 5000. The code I have written is as follows ..

I'm trying to use JAI to create a single mosaic consisting of 4 TIF images each of which is 5000 x开发者_JAVA百科 5000. The code I have written is as follows ..

    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));

The problem is that all 4 images are being positioned in the same place in the top left hand corner of the mosaic so the other three quarters of it is empty. Can anyone tell me how I can choose the position of each picture that makes up the mosaic so each appears in the correct place ?

Thanks

Ian


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

I think you misunderstood the doc you need to set the minX minY for EACH source image before the operation.

northwest.tif should have minX=0 and minY=0,

northeast.tif should have minX=5000 and minY=0,

southwest.tif should have minX=0, minY=5000 and

southeast.tif should have minx=5000 and minY = 5000

In the doc they suggest you deserialize the files directly "moved" by using rendering hint on the deserialization operation.

Somehow, mosaic is just a normal compositing operation.

0

精彩评论

暂无评论...
验证码 换一张
取 消