kingxip 2009-06-29 10:29
浏览 251
已采纳

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

这是那个附件地址

  • 写回答

3条回答 默认 最新

  • numenZQ 2009-07-12 11:40
    关注

    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包都没问题,如果是要读取坐标或其他信息就需要它了,你在试一下吧。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题