[
https://issues.apache.org/jira/browse/XGC-99?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14653171#comment-14653171
]
Carsten Pfeiffer commented on XGC-99:
-------------------------------------
Do you want me to send a pull request?
> 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: [email protected]
For additional commands, e-mail: [email protected]