Re: How to write a .icns file
Re: How to write a .icns file
- Subject: Re: How to write a .icns file
- From: "Gary L. Wade" <email@hidden>
- Date: Mon, 02 Jun 2014 17:50:51 -0700
The file format for an icns file is the same as an 'icns' resource, which is documented in IconStorage.h.
--
Gary L. Wade (Sent from my iPhone)
http://www.garywade.com/
> On Jun 2, 2014, at 5:04 PM, John Brownie <email@hidden> wrote:
>
>> On Sat May 31 2014 12:37:59 GMT+1000 (PGT) Gary L. Wade wrote:
>> Maybe you could get by just saving those icons that are more modern? You may truly need to keep them, but there's practically no need for 'ICN#' and their like anymore in modern OS X. The most modern ones (especially the retina-based ones) are just wrappers around PNG, JPEG, image file data, anyway.
>>
>> I haven't read of any limitations like you describe, so maybe it's a bug, possibly a half-Carbon accidental-deprecation (I found this happened for compositing icons).
>>
>> Since the 'icns' format is well documented, why not make as many subsets as required using ImageIO and then programmatically combine all your 'icns' into a single 'icns'? It's a kludge, but it would work.
>>
>> If you want to investigate more, maybe see if the 15-image limitation only happens when one of the modern icon formats is present like a retina-based one. Then, that might add fuel to your bug report and/or provide extra info for your 'icns' merge operation.
>
> Thanks for the thoughts. I am not sure that I agree with the statement that the 'icns' format is well documented. A search turned up the Wikipedia page, which is pretty cursory, but eventually led me to the IconFamily page, which looks (at a first glance) to do what I need, though it hasn't been updated in more than four years, and doesn't mention retina.
>
> Digging more deeply into what I'm getting, there are eight different icon sizes (16x16, 18x18, 32x32, 36x36, 48x48, 128x128, 256x256, 512x512), seven of which occur twice (all but 48x48), clearly being the normal and @2x versions. As a first work-around, just grabbing the unique sizes and using ImageIO to create a .icns file (via NSData) works, sort of. I only seem to get one representation, is32 (16x16 24-bit), which is weird, since I'm giving it eight types. I don't see a simple way of working out which ones are the @2x versions for the purposes of creating a full .icns file, either.
>
> All in all, it's rather opaque as to how it works, but I'm moving ahead rather slowly on it.
>
> John
> --
> John Brownie, email@hidden or email@hidden
> Summer Institute of Linguistics | Mussau-Emira language, Mussau Is.
> Ukarumpa, Eastern Highlands Province | New Ireland Province
> Papua New Guinea | Papua New Guinea
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden