blockies-ts
Version:
Typescript version of Ethereum blockies
47 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const random_1 = require("./random");
const constants_1 = require("./constants");
function createColor() {
let h = Math.floor(random_1.random() * 360);
let s = random_1.random() * 60 + 40 + '%';
let l = (random_1.random() + random_1.random() + random_1.random() + random_1.random()) * 25 + '%';
let color = 'hsl(' + h + ',' + s + ',' + l + ')';
return color;
}
exports.createColor = createColor;
function createImageData(size) {
let width = size;
let height = size;
let dataWidth = Math.ceil(width / 2);
let mirrorWidth = width - dataWidth;
let data = [];
for (let y = 0; y < height; y++) {
let row = [];
for (let x = 0; x < dataWidth; x++) {
row[x] = Math.floor(random_1.random() * 2.3);
}
let r = row.slice(0, mirrorWidth);
r.reverse();
row = row.concat(r);
for (let i = 0; i < row.length; i++) {
data.push(row[i]);
}
}
return data;
}
exports.createImageData = createImageData;
function parseOptions(opts) {
const seed = opts.seed || Math.floor(Math.random() * Math.pow(10, 16)).toString(16);
random_1.seedRandomness(seed);
return {
seed,
size: opts.size || constants_1.DEFAULT_SIZE,
scale: opts.scale || constants_1.DEFAULT_SCALE,
color: opts.color || createColor(),
bgcolor: opts.bgcolor || createColor(),
spotcolor: opts.spotcolor || createColor(),
};
}
exports.parseOptions = parseOptions;
//# sourceMappingURL=utils.js.map