有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

netbeans Java读取不同类型的图像格式jpg、tif、gif、png

我试图阅读一些图像文件jpg,tif,gif,png,需要保存文件和创建图标。 我得到了UnsupportedTypeException

ImageIO.read(file);

如果我使用下面的行,正如前面在表单中讨论的

BufferedImage img = JPEGCodec.createJPEGDecoder(inputStream).decodeAsBufferedImage();

我得到JPEGCodec找不到符号

我正在使用netbean 7.0.1。我还添加了jai imageo。罐子


共 (3) 个答案

  1. # 2 楼答案

    默认情况下,如果我没记错的话,ImageIO只能读取JPG、GIF和PNG文件格式。要添加像TIFF这样的新格式,需要在类路径中添加一个插件(jar文件),并添加一个ImageIO。scanForPlugins()在您尝试读取文件之前,先编写代码

    插件示例:

    http://ij-plugins.sourceforge.net/plugins/imageio/

    试试谷歌的“ImageIO插件”

  2. # 3 楼答案

    我们可以看到类似的细节 http://www.randelshofer.ch/blog/2011/08/reading-cmyk-jpeg-images-with-java-imageio/

    Image img = null;
    ImageInputStream iis = new FileImageInputStream(file);
    try {
        for (Iterator<ImageReader> i = ImageIO.getImageReaders(iis);
             img == null && i.hasNext(); ) {
            ImageReader r = i.next();
            try {
                r.setInput(iis);
                img = r.read(0);
            } catch (IOException e) {}
        }
    } finally {
        iis.close();
    }
    return img;
    

    Java Advanced image io也解决了这一问题,但很难在所有平台上进行维护