加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

用Java读取JPEG

发布时间:2020-12-15 02:35:54 所属栏目:Java 来源:网络整理
导读:我正在尝试将JPEG转换为Buffered Image以显示在JPanel上.但是,javax.imageio.ImageIO.read()似乎对它处理的JPEG非常挑剔,经常抛出一个IIOException.几乎任何你想要命名的图像阅读器都能打开相同的JPEG. 我看过Apache的Sanselan和JAI.但是Sanselan无法处理JPE
我正在尝试将JPEG转换为Buffered Image以显示在JPanel上.但是,javax.imageio.ImageIO.read()似乎对它处理的JPEG非常挑剔,经常抛出一个IIOException.几乎任何你想要命名的图像阅读器都能打开相同的JPEG.

我看过Apache的Sanselan和JAI.但是Sanselan无法处理JPEG并且JAI不适用于64位Windows平台,似乎没有维护(最后一次更新是在2006年).之前的answer on StackOverflow建议使用com.sun.image.codec.jpeg.JPEGCodec,但这在Java 5中已弃用,并在7中消失.

这些是我唯一的选择吗?是否真的没有能够将JPEG强大地读入BufferedImage的Java库?

解决方法

已知传统的 Toolkit方法(如 createImage和 getImage)比ImageIO更宽松.

Werner Randelshofer还写了一篇Service Provider,用ImageIO读取CMYK JPEG.

通过结合两种方法(尝试每个可能的ImageReader,然后回退到Toolkit),您将能够处理合理数量的JPEG图像.

Reading JPEGs with CMYK profile可能是一个有趣的阅读.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读