icojs v0.19.5
icojs
A JavaScript library to use ICO. Works on both Node.js and the browser.
Install
npm install icojsNode.js:
import { isICO, parseICO } from 'icojs';Browser:
import { isICO, parseICO } from 'icojs/browser';or
<script type="text/javascript" src="node_modules/icojs/dist/ico.js"></script>To fully use this library, browsers must support JavaScript typed arrays, Canvas API and Promise. Chrome, Edge 12, Firefox and Safari 9 support these functions.
Example
Node.js:
import { readFile, writeFile } from 'node:fs/promises';
import { parseICO } from 'icojs';
const buffer = await readFile('favicon.ico');
const images = await parseICO(buffer, 'image/png');
// save as png files
images.forEach(image => {
const file = `${image.width}x${image.height}-${image.bpp}bit.png`;
const data = Buffer.from(image.buffer);
writeFile(file, data);
});Browser:
<input type="file" id="input-file" />
<script>
document.getElementById('input-file').addEventListener('change', evt => {
// use FileReader for converting File object to ArrayBuffer object
var reader = new FileReader();
reader.onload = async e => {
const images = await ICO.parseICO(e.target.result);
// logs images
console.dir(images);
};
reader.readAsArrayBuffer(evt.target.files[0]);
}, false);
</script>Demo
https://egy186.github.io/icojs/#demo
API
ICO
- ICO
- isICO(source) ⇒ boolean ⏏
- parseICO(buffer, [mime]) ⇒ Promise.<Array.<ParsedImage>> ⏏
isICO(source) ⇒ boolean ⏏
Check the ArrayBuffer is valid ICO.
Kind: global method of ICO
Returns: boolean - True if arg is ICO.
| Param | Type | Description |
|---|---|---|
| source | ArrayBuffer | Buffer | ICO file data. |
parseICO(buffer, mime) ⇒ Promise.<Array.<ParsedImage>> ⏏
Parse ICO and return some images.
Kind: global method of ICO
Returns: Promise.<Array.<ParsedImage>> - Resolves to an array of ParsedImage.
| Param | Type | Default | Description |
|---|---|---|---|
| buffer | ArrayBuffer | Buffer | ICO file data. | |
| mime | string | "image/png" | MIME type for output. |
Typedefs
ParsedImage : object
Kind: global typedef
Properties
| Name | Type | Description |
|---|---|---|
| width | number | Image width. |
| height | number | Image height. |
| bpp | number | Image color depth as bits per pixel. |
| buffer | ArrayBuffer | Image buffer. |
License
MIT license
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
4 years ago
5 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago