blockies-ts
Version:
Typescript version of Ethereum blockies
40 lines • 1.59 kB
JavaScript
;
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("./utils");
function render(providedOpts, canvas) {
var _a, _b, _c, _d, _e;
const opts = utils_1.parseOptions(providedOpts || {});
let imageData = utils_1.createImageData(opts.size);
let width = Math.sqrt(imageData.length);
canvas.width = canvas.height = opts.size * opts.scale;
let context = canvas.getContext('2d');
(_a = context) === null || _a === void 0 ? void 0 : _a.fillStyle = opts.bgcolor;
(_b = context) === null || _b === void 0 ? void 0 : _b.fillRect(0, 0, canvas.width, canvas.height);
(_c = context) === null || _c === void 0 ? void 0 : _c.fillStyle = opts.color;
for (let i = 0; i < imageData.length; i++) {
if (imageData[i]) {
let row = Math.floor(i / width);
let column = i % width;
(_d = context) === null || _d === void 0 ? void 0 : _d.fillStyle = imageData[i] === 1 ? opts.color : opts.spotcolor;
(_e = context) === null || _e === void 0 ? void 0 : _e.fillRect(column * opts.scale, row * opts.scale, opts.scale, opts.scale);
}
}
return canvas;
}
exports.render = render;
function create(opts) {
let canvas = document.createElement('canvas');
render(opts, canvas);
return canvas;
}
exports.create = create;
__export(require("./utils"));
__export(require("./constants"));
exports.default = {
create,
render,
};
//# sourceMappingURL=index.js.map