Apple IconSet (.icns) file format
npm install apple-icnsApple IconSet (.icns) file format
``sh`
$ npm install --save apple-icns
- [ ] TOC & icnV resource types
- [ ] extraction (dumping raw jpeg/png, and decompress and combine for raw)
- [ ] creation
- [ ] addition
`js`
var Icns = require( 'apple-icns' )
`js
var iconset = new Icns( filename )
iconset.open( function( error ) {
console.log( 'iconset', error || iconset )
})
`
`js`
console.log( iconset.entries )
`js`
[
IconEntry {
type: 'is32',
length: 774,
offset: 8,
width: 16,
height: 16,
depth: 24,
channels: 3,
format: 'raw',
isMask: false,
isCompressed: true,
description: '16×16 24-bit icon',
osVersion: '8.5',
uncompressedSize: 2304
},
// ... More entries omitted for brevity ...
IconEntry {
type: 'ic09',
length: 158264,
offset: 134167,
width: 512,
height: 512,
depth: -1,
channels: -1,
format: 'jpeg2000',
isMask: false,
isCompressed: false,
description: '512×512 icon in JPEG 2000 or PNG format',
osVersion: '10.5',
uncompressedSize: null
}
]
`js``
iconset.readEntryData( iconset.entries[3], function( error, buffer ) {
console.log( 'Icon', error || buffer )
})
- https://en.wikipedia.org/wiki/Apple_Icon_Image_format
- http://www.ezix.org/project/wiki/MacOSXIcons
- http://www.macdisk.com/maciconen.php
- http://icns.sourceforge.net/