UNPKG

illustrator.js

Version:

JavaScript image processing library

116 lines (115 loc) 5.69 kB
"use strict"; var _PixelsTool_instances, _PixelsTool_transformer, _PixelsTool_ensureTransformer; Object.defineProperty(exports, "__esModule", { value: true }); exports.PixelsTool = void 0; const tslib_1 = require("tslib"); const exports_1 = require("../exports"); const IllustratorImage_1 = require("../../image/IllustratorImage"); class PixelsTool extends exports_1.ToolBox { constructor() { super(...arguments); _PixelsTool_instances.add(this); _PixelsTool_transformer.set(this, void 0); } async createRawTransformer(src) { const transformer = await this.layer.illustrator.image.loadImage(src); tslib_1.__classPrivateFieldSet(this, _PixelsTool_transformer, transformer, "f"); } async createTransformer(context) { const data = this.layer.context.getImageData(context.from, context.to, context.width, context.height); const transformer = await IllustratorImage_1.IllustratorImage.fromImageData(data); tslib_1.__classPrivateFieldSet(this, _PixelsTool_transformer, transformer, "f"); } rotate(orientation) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); // @ts-expect-error tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.rotate(IllustratorImage_1.IllustratorImageEnums.Orientation[orientation]); return this; } crop(context) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.crop(context.from, context.to, context.width, context.height); return this; } invert() { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.invert(); return this; } setBrightness(brightness) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.brighten(brightness); return this; } setContrast(contrast) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.adjustContrast(contrast); return this; } hueRotate(hue) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.huerotate(hue); return this; } gaussianBlur(sigma) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.blur(sigma); return this; } unsharpMasking(sigma, threshold) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.unsharpen(sigma, threshold); return this; } resize(width, height, algorithm) { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); // @ts-expect-error tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")?.resize(width, height, IllustratorImage_1.IllustratorImageEnums.ResizeFilterType[algorithm]); return this; } get transformer() { return tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f"); } async getImage() { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); // eslint-disable-next-line return await tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f").toImage(); } getImageSync() { tslib_1.__classPrivateFieldGet(this, _PixelsTool_instances, "m", _PixelsTool_ensureTransformer).call(this); // eslint-disable-next-line return tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f").toImageSync(); } async renderTransformer(context) { const data = await this.getImage(); this.history.push((ctx) => { if ("width" in context && "height" in context) { // eslint-disable-next-line ctx.drawImage(data, context.from, context.to, context.width, context.height); } else { ctx.drawImage(data, context.from, context.to); } }); } renderTransformerSync(context) { const data = this.getImageSync(); this.history.push((ctx) => { if ("width" in context && "height" in context) { // eslint-disable-next-line ctx.drawImage(data, context.from, context.to, context.width, context.height); } else { ctx.drawImage(data, context.from, context.to); } }); } clearTransformer() { tslib_1.__classPrivateFieldSet(this, _PixelsTool_transformer, null, "f"); } } exports.PixelsTool = PixelsTool; _PixelsTool_transformer = new WeakMap(), _PixelsTool_instances = new WeakSet(), _PixelsTool_ensureTransformer = function _PixelsTool_ensureTransformer() { if (!tslib_1.__classPrivateFieldGet(this, _PixelsTool_transformer, "f")) throw new Error("transformer is not created"); };