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: [email protected]
For additional commands, e-mail: [email protected]