读取TIFF并输出BMP的最简单的方法是使用ImageIO类:
BufferedImage image = ImageIO.read(inputFile);
ImageIO.write(image, "bmp", new File(outputFile));
您需要做的唯一的事情就是确保您将JAI ImageIO JAR添加到您的类路径中,因为BMP和TIFF不会被JRE处理,而没有这个库的插件.
如果由于某些原因您无法使用JAI ImageIO,您可以使其与现有代码一起使用,但必须进行其他一些工作.正在加载的TIFF正在创建的颜色模型可能是BMP不支持的索引颜色模型.您可以通过向JAI.KEY_REPLACE_INDEX_COLOR_MODEL提供一个渲染提示,将其替换为JAI.create(“format”,…)操作.
你可能有一些运气将从文件读取的图像写入临时图像,然后写出温度图像:
BufferedImage image = ImageIO.read(inputFile);
BufferedImage convertedImage = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_INT_RGB);
convertedImage.createGraphics().drawRenderedImage(image, null);
ImageIO.write(convertedImage, "bmp", new File(outputFile));
我想知道您是否遇到与常规JAI相同的索引颜色模型问题.理想情况下,您应该使用ImageIO类来获取ImageReader和ImageWriter实例,除了最简单的情况之外,您可以相应地调整读取和写入参数,但是ImageIO.read()和.write()可以很好地给予你要什么.