java advance image相关

想问下有没有数需jai的,自己因为业务需要要用jai来显示一些扩展后tiff 格式的图像,但是显示出来是空白,黑的,api看的也不是很有头绪,有没有熟悉的指点一下啊。
[b]问题补充:[/b]
[quote]你把你部分代码贴出来看一下呢,就是读取TIFF和draw TIFF相关代码[/quote]

[code="java"]
public Image render(InputStream is) {
PlanarImage resultImage = null;

    SeekableStream seekableStream = SeekableStream.wrapInputStream(is,true);
    ParameterBlock pb = new ParameterBlock();
    pb.add(seekableStream);
    resultImage = JAI.create("TIFF", pb);
    Image image=resultImage.getAsBufferedImage();
    return image;
}
public static void main(String[] args) {
    final TestImage ti=new TestImage();
    JFrame jf=new JFrame(){
        FileInputStream fos;
        @Override
        public void paint(Graphics g) {
            try {
                fos=new FileInputStream("d:/kkgeotiffTest.tif");
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            g.drawImage(ti.render(fos),0,0,this);
            try {
                fos.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    };
    jf.setSize(500, 400);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}

[/code]

上面是主要代码
[b]问题补充:[/b]
[quote]numenzq[/quote]
首先感谢上面的兄台。

其实我这里一般的tiff也能显示出来,但是一些比较特殊的扩展后的tiff比如geotiff就显示不了了,我不知道这是什么原因[img][/img]
附件中是我测试的tiff
[b]问题补充:[/b]
http://kingxip.iteye.com/blog/424139

这是那个附件地址

1、我觉得你的geotiff文件还是有问题,我用其他geotiff文件都能正常打开,比如:
ftp://ftp.remotesensing.org/pub/geotiff/samples/other/erdas_spnad83.tif

你也可以大概比较一下二进制代码,你给我的那个tif文件几乎都是‘āāāāāāā’,而正常的geotif文件却不是这样的;

2、sun提供的JAI功能并不强大,你可以去geotiff官方去下载扩展的Jar包吧:
GeoTIFF-JAI and Extensible-TIFF-JAI: Niles Ritters projects for a Java GeoTIFF API.
http://sourceforge.net/projects/geotiff-jai/
http://sourceforge.net/projects/xtiff-jai/

如果你只是需要在JFrame里显示图像,不需要用到上面的Jar包都没问题,如果是要读取坐标或其他信息就需要它了,你在试一下吧。

你把你部分代码贴出来看一下呢,就是读取TIFF和draw TIFF相关代码。

我刚才把你贴出来的代码执行了一次,都能正常显示出TIF图片,你自己再确认一下呢;

1、我用的JAI版本是1.1.3,下载地址如下:
https://jai.dev.java.net/binary-builds.html

2、TIF格式有问题,JAI无法正常编码/解码;

3、确认一下图片是否太大,你的显示区域又太小,导致显示出来的图片只是一部分;