JavaScript library for generating abstract images from unique identifiers.
https://mistic100.github.io/squareicon
$ npm install squareicon
- randomcolor - for color schemes other than
raw
- canvas - only when using NodeJS
<script src="randomcolor/randomColor.js"></script>
<script src="squareicon/browser.js"></script>
<img id="squareicon"></div>
<script>
squareicon({ id: 'mistic100' }, (err, data) => {
document.querySelector('img').src = data;
});
squareicon({ id: 'mistic100'})
.then(data => {
document.querySelector('img').src = data;
});
</script>
const fs = require('fs');
const squareicon = require('squareicon');
squareicon({ id: 'mistic100' }, (err, buffer) => {
fs.writeFileSync('mistic100.png', buffer);
});
squareicon({ id: 'mistic100'})
.then(data => {
fs.writeFileSync('mistic100.png', buffer);
});
$ squareicon --id mistic100 mistic100.png
Option | Default | Description |
---|---|---|
id | null | input identifier, can be empty for random value |
hasher | sha11 | function used to transform the id into an hexadecimal string |
colors | 2 | number of colors, can only be 1 or 2 |
pixels | 8 | number of pixels, between 2 and 16 |
size | 128 | desired size2, between pixels and 2048 |
padding | 0 | desired padding, between 0 and size / 3 |
symmetry | none | type of symmetry, one of none , vertical , horizontal , central |
scheme | standard | colors scheme3, one of raw , standard , light , bright , dark |
background | transparent | background color as a CSS string |
1 It uses the crypto module on NodeJS and the SubtleCrypto API on the browser.
2 The final size might be different in order to be pixel perfect
3
raw
will directly use the 12 or 24 first bytes of the hash to create colors. Other modes are delegated to randomcolor.
This library is available under the MIT license.