ImageIO无法写入JPEG文件的原因及处理方法分享
下文笔者讲述ImageIO无法生成JPEG文件的原因及处理方法分享,如下所示
今天使用BufferedImage写入jpeg文件 此时Java程序发生异常 注意事项: 但是可保存为gif和png 那出现这种现象的原因是什么呢?笔者将一一道来,如下所示
出现这种现象的原因: 由于我们使用的是OpenJDK OpenJDK中没有JPEG编码器 此时我们只需更换JDK即可例:
File outputfile = new File("tmp/" + row + ":" + col + ".jpg"); try { ImageIO.write(mapBufferTiles[row][col], "jpg", outputfile); } catch (IOException e) { outputfile.delete(); throw new RuntimeException(e); }以上代码输出以下错误信息
Exception in thread "main" java.lang.RuntimeException: javax.imageio.IIOException: Invalid argument to native writeImage at TestClass.buildImg(TestClass.java:91) at TestClass.<init>(TestClass.java:22) at TestClass.main(TestClass.java:118) Caused by: javax.imageio.IIOException: Invalid argument to native writeImage at com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeImage(Native Method) at com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeOnThread(JPEGImageWriter.java:1055) at com.sun.imageio.plugins.jpeg.JPEGImageWriter.write(JPEGImageWriter.java:357) at javax.imageio.ImageWriter.write(ImageWriter.java:615) at javax.imageio.ImageIO.doWrite(ImageIO.java:1602) at javax.imageio.ImageIO.write(ImageIO.java:1526) at TestClass.buildImg(TestClass.java:87)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。