[ 
https://issues.apache.org/jira/browse/IMAGING-97?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496985#comment-13496985
 ] 

Adrian Moerchen commented on IMAGING-97:
----------------------------------------

Found a workaround (at least for us) for this:

{code};
/**
     * Converts the byte array to an image.
     * 
     * @param data
     *            Image as binary data.
     * @return Returns a BufferedImage object or null.
     */
    public static BufferedImage byteToImage(byte[] data) {
        try {
            return Imaging.getBufferedImage(data);
        } catch (IOException e) {
            LOGGER.warn("Error reading image: {}", e.getMessage());
        } catch (ImageReadException e) {
            LOGGER.warn("Error reading image: {}", e.getMessage());
            try {
                return ImageIO.read(new ByteArrayInputStream(data));
            } catch (IOException e1) {
                LOGGER.warn("Error reading image: {} ", e1.getMessage());
            }
        }
        return null;
    }
{code}
                
> Fails to read most Sony A100 JPG files generated from Photoshop CS2 
> --------------------------------------------------------------------
>
>                 Key: IMAGING-97
>                 URL: https://issues.apache.org/jira/browse/IMAGING-97
>             Project: Commons Imaging
>          Issue Type: Bug
>          Components: Format: JPEG
>    Affects Versions: 1.0
>         Environment: Windows 7, JDK1.7, Imaging snapshot build from 20121013
>            Reporter: William Saar
>         Attachments: _DSC6099.jpg
>
>
> This line fails with the exception at the bottom for most of my old JPG files 
> shot with a Sony A100, and sometimes processed by Photoshop CS2. I will 
> attach a failing file.
> BufferedImage img = Imaging.getBufferedImage(compressedThumbnailData, 
> jpgDecodeParams);
> where jpgDecodeParams are
> ImagingConstants.BUFFERED_IMAGE_FACTORY, new RgbBufferedImageFactory()
> ImagingConstants.PARAM_KEY_FORMAT, ImageFormat.IMAGE_FORMAT_JPEG
> Exception:
> org.apache.commons.imaging.ImageReadException: Invalid marker found in 
> entropy data
>       at 
> org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit(JpegInputStream.java:50)
>       at 
> org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.decode(JpegDecoder.java:417)
>       at 
> org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.readMCU(JpegDecoder.java:311)
>       at 
> org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.visitSOS(JpegDecoder.java:122)
>       at 
> org.apache.commons.imaging.formats.jpeg.JpegUtils.traverseJFIF(JpegUtils.java:83)
>       at 
> org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.decode(JpegDecoder.java:428)
>       at 
> org.apache.commons.imaging.formats.jpeg.JpegImageParser.getBufferedImage(JpegImageParser.java:95)
>       at 
> org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1375)
>       at 
> org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1315)
>       at 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to