You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Marco Wagner (JIRA)" <ji...@apache.org> on 2016/09/14 12:15:20 UTC
[jira] [Created] (IMAGING-188) ICNS Image Parser: Support for large
Icons (ic07, ic08, ic09, ic10 [128px, 256px, 512px, 1024px])
Marco Wagner created IMAGING-188:
------------------------------------
Summary: ICNS Image Parser: Support for large Icons (ic07, ic08, ic09, ic10 [128px, 256px, 512px, 1024px])
Key: IMAGING-188
URL: https://issues.apache.org/jira/browse/IMAGING-188
Project: Commons Imaging
Issue Type: Improvement
Affects Versions: 1.0
Environment: OS X
Reporter: Marco Wagner
I needed larger icons of icns files, than currently extracted with the Apache Commons Imaging ICNS Image Parser/ICNS Decoder.
So I edited the Source Code:
In case an icns element is a PNG (depends on 0-4th byte [header]),
the bytes can be put in a ByteArrayInputStream and then read by ImageIO.read, that returns the BufferedImage needed.
Then it can be added to the list of List<BufferedImage> in IcnsDecoder#decodeAllImages().
InputStream in = new ByteArrayInputStream(imageData);
BufferedImage image = ImageIO.read(in);
To the enum IcnsType I added:
ICNS_256x256_32BIT_ARGB_IMAGE("ic08", 256, 256, 32, false),
ICNS_512x512_32BIT_ARGB_IMAGE("ic09", 512, 512, 32, false),
ICNS_1024x1024_32BIT_ARGB_IMAGE("ic10", 1024, 1024, 32, false);
https://en.wikipedia.org/wiki/Apple_Icon_Image_format
No need for Rle24Compression.decompress() or decode32BPPImage().
I can upload the code somewhere, please tell me how to do.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)