【问题标题】:Exception "java.awt.color.CMMException: Invalid image format" thrown when resizing certain images...why?调整某些图像的大小时抛出异常“java.awt.color.CMMException:无效的图像格式”......为什么?
【发布时间】:2012-08-30 14:35:54
【问题描述】:

从 db 获取图像后,当我尝试调整它的大小时,通过使用以下代码传递宽度

        public static BufferedImage resize(final byte[] pImageData,
                    final int width, final int height, final int maxLength, final int minLength, final String imageSubType) throws Exception {

                InputStream is = null;
                BufferedImage resizeImageJpg = null;
                try {

                    is = new ByteArrayInputStream(pImageData);
                    BufferedImage originalImage = ImageIO.read(is);
                     --------------------

    }
   }

以下异常被抛出:

                    BufferedImage originalImage = ImageIO.read(is);

例外:

Caused by: java.awt.color.CMMException: Invalid image format
    at sun.awt.color.CMM.checkStatus(CMM.java:131)
    at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
    at java.awt.image.ColorConvertOp.filter(ColorConvertOp.java:516)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(JPEGImageReader.java:1169)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1137)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:948)
    at javax.imageio.ImageIO.read(ImageIO.java:1422)
    at javax.imageio.ImageIO.read(ImageIO.java:1326)

关于为什么仅针对某些图像引发此错误的任何想法。图片有什么问题吗。如果是这样,可能的错误是什么

【问题讨论】:

标签: java image exception image-processing awt


【解决方案1】:

顺便说一句,这个 CMMException 问题在 JDK8 中已修复(注意http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7064516 底部的提交)。我已经确认a pre-release build of JDK8 正确加载了如上所述 JDK7 失败的图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-18
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多