You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xmlgraphics.apache.org by "Carsten Pfeiffer (JIRA)" <ji...@apache.org> on 2015/08/04 09:02:04 UTC
[jira] [Commented] (XGC-99) PNGFile.getImageRawPNG() returns broken
image data
[ 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: general-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: general-help@xmlgraphics.apache.org