xmlgraphics-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Pfeiffer (JIRA)" <j...@apache.org>
Subject [jira] [Created] (XGC-99) PNGFile.getImageRawPNG() returns broken image data
Date Thu, 30 Jul 2015 12:49:04 GMT
Carsten Pfeiffer created XGC-99:
-----------------------------------

             Summary: PNGFile.getImageRawPNG() returns broken image data
                 Key: XGC-99
                 URL: https://issues.apache.org/jira/browse/XGC-99
             Project: XMLGraphicsCommons
          Issue Type: Bug
          Components: image codecs
    Affects Versions: 2.0.1, trunk
            Reporter: Carsten Pfeiffer


The ImageRawPNG returned by PNGFile.getImageRawPNG() is broken because the provided InputStream
(streamVec) contains only part of the raw image data. For a start the magic header is missing,
but it's not enough to add it.

To fix this, I copied the entire stream in the PNGFile constructor like this:

{code}
        stream.mark(Integer.MAX_VALUE);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        IOUtils.copy(stream, out);
        rawStream = new ByteArrayInputStream(out.toByteArray());
        out = null;
        stream.reset();
{code}

and use the rawStream in favor of streamVec, which can be removed then.

Testcases still run successful. This fixes RTF output not working with PNG files in FOP because
it checks for (missing) the PNG magic header.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: general-help@xmlgraphics.apache.org


Mime
View raw message