Re: How to write a .icns file
Re: How to write a .icns file
- Subject: Re: How to write a .icns file
- From: John Brownie <email@hidden>
- Date: Tue, 03 Jun 2014 10:04:38 +1000
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