UNPKG

@ng-web-apis/canvas

Version:
70 lines 7.87 kB
import { Directive, inject, Input } from '@angular/core'; import { WaDrawService } from '../services/draw.service'; import * as i0 from "@angular/core"; class WaCanvasDrawImage { method = inject(WaDrawService); image; dX = 0; dY = 0; dWidth; dHeight; sX; sY; sWidth; sHeight; constructor() { this.method.call = (context) => { if (!this.image) { return; } if (this.sWidth !== undefined && this.sHeight !== undefined && this.sX !== undefined && this.sY !== undefined && this.dWidth !== undefined && this.dHeight !== undefined) { context.drawImage(this.image, this.sX, this.sY, this.sWidth, this.sHeight, this.dX, this.dY, this.dWidth, this.dHeight); } else if (this.dWidth !== undefined && this.dHeight !== undefined) { context.drawImage(this.image, this.dX, this.dY, this.dWidth, this.dHeight); } else { context.drawImage(this.image, this.dX, this.dY); } }; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasDrawImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: WaCanvasDrawImage, isStandalone: true, selector: "canvas-draw-image", inputs: { image: "image", dX: "dX", dY: "dY", dWidth: "dWidth", dHeight: "dHeight", sX: "sX", sY: "sY", sWidth: "sWidth", sHeight: "sHeight" }, providers: [WaDrawService], ngImport: i0 }); } export { WaCanvasDrawImage }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasDrawImage, decorators: [{ type: Directive, args: [{ standalone: true, selector: 'canvas-draw-image', providers: [WaDrawService], }] }], ctorParameters: function () { return []; }, propDecorators: { image: [{ type: Input }], dX: [{ type: Input }], dY: [{ type: Input }], dWidth: [{ type: Input }], dHeight: [{ type: Input }], sX: [{ type: Input }], sY: [{ type: Input }], sWidth: [{ type: Input }], sHeight: [{ type: Input }] } }); /** * @deprecated: use {@link WaCanvasDrawImage} */ export const DrawImageDirective = WaCanvasDrawImage; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1pbWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY2FudmFzL3NyYy9tZXRob2RzL2RyYXctaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFdkQsTUFLYSxpQkFBaUI7SUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBR3pDLEtBQUssQ0FBcUI7SUFHMUIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUdQLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFHUCxNQUFNLENBQVU7SUFHaEIsT0FBTyxDQUFVO0lBR2pCLEVBQUUsQ0FBVTtJQUdaLEVBQUUsQ0FBVTtJQUdaLE1BQU0sQ0FBVTtJQUdoQixPQUFPLENBQVU7SUFFeEI7UUFDSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNiLE9BQU87YUFDVjtZQUVELElBQ0ksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTO2dCQUN6QixJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVM7Z0JBQzFCLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUztnQkFDckIsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTO2dCQUNyQixJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVM7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUM1QjtnQkFDRSxPQUFPLENBQUMsU0FBUyxDQUNiLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNmLENBQUM7YUFDTDtpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO2dCQUNoRSxPQUFPLENBQUMsU0FBUyxDQUNiLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDZixDQUFDO2FBQ0w7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1FBQ0wsQ0FBQyxDQUFDO0lBQ04sQ0FBQzt3R0FuRVEsaUJBQWlCOzRGQUFqQixpQkFBaUIsZ05BRmYsQ0FBQyxhQUFhLENBQUM7O1NBRWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzdCOzBFQUtVLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxFQUFFO3NCQURSLEtBQUs7Z0JBSUMsRUFBRTtzQkFEUixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsRUFBRTtzQkFEUixLQUFLO2dCQUlDLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLOztBQTJDVjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1dhRHJhd1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXcuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdjYW52YXMtZHJhdy1pbWFnZScsXG4gICAgcHJvdmlkZXJzOiBbV2FEcmF3U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFdhQ2FudmFzRHJhd0ltYWdlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1ldGhvZCA9IGluamVjdChXYURyYXdTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGltYWdlPzogQ2FudmFzSW1hZ2VTb3VyY2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkWCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkWSA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkV2lkdGg/OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkSGVpZ2h0PzogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc1g/OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzWT86IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNXaWR0aD86IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNIZWlnaHQ/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5tZXRob2QuY2FsbCA9IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaW1hZ2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLnNXaWR0aCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgdGhpcy5zSGVpZ2h0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNYICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNZICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmRXaWR0aCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgdGhpcy5kSGVpZ2h0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmltYWdlLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNYLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNZLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zSGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRYLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRZLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kSGVpZ2h0LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZFdpZHRoICE9PSB1bmRlZmluZWQgJiYgdGhpcy5kSGVpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kWCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kWSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZEhlaWdodCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZSh0aGlzLmltYWdlLCB0aGlzLmRYLCB0aGlzLmRZKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IHVzZSB7QGxpbmsgV2FDYW52YXNEcmF3SW1hZ2V9XG4gKi9cbmV4cG9ydCBjb25zdCBEcmF3SW1hZ2VEaXJlY3RpdmUgPSBXYUNhbnZhc0RyYXdJbWFnZTtcbiJdfQ==