'use strict'; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const jimp_1 = __importDefault(require("jimp")); class Frame { static async info(imagePath) { let image; try { image = await jimp_1.default.read(imagePath); } catch (err) { throw err; } return { width: image.bitmap.width, height: image.bitmap.height }; } static async solidColor(width, height, color) { //@ts-ignore const colorInt = jimp_1.default.rgbaToInt(color.r, color.g, color.b, color.a); return new Promise((resolve, reject) => { return new jimp_1.default(width, height, colorInt, (err, image) => { if (err) { return reject(err); } return resolve(image); }); }); } static async blend(inPath, color, imagePath) { //cmd2 = `${this.convert} "${tmpoutput}" -resize ${w}x${h} -size ${w}x${h} xc:"rgb(${rgb[0]},${rgb[1]},${rgb[2]})" +swap -compose Darken -composite "${tmpoutput}"`; const options = { mode: jimp_1.default.BLEND_DARKEN, opacitySource: 1.0, opacityDest: 1.0 }; let width; let height; let bottom; let top; try { top = await jimp_1.default.read(inPath); } catch (err) { throw err; } width = top.bitmap.width; height = top.bitmap.height; try { bottom = await Frame.solidColor(width, height, color); } catch (err) { throw err; } bottom.composite(top, 0, 0, options); try { await bottom.writeAsync(imagePath); } catch (err) { throw err; } return imagePath; } } exports.default = Frame; module.exports = Frame; //# sourceMappingURL=index.js.map