import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core'; import { MatDialogRef } from '@angular/material/dialog'; import { VhQueryAutoWeb } from 'vhautowebdb'; import { CanvasService } from './canvas.service'; import { FunctionService } from 'vhobjects-service'; import * as i0 from "@angular/core"; export declare class AtwEditImage implements OnInit { data: any; dialogRef: MatDialogRef; private platformId; private functionService; private vhQueryAutoWeb; private changeDetectorRef; canvasService: CanvasService; objectChoosing: any; staticdata: any; device: any; tab: number; compressWidth: number; compressHeight: number; isShowConfirmPopup: boolean; isConfirmLoading: boolean; resolution: any; subproject: any; canvasRef: ElementRef; image: HTMLImageElement; fileImg: { name: string; type: string; extension: string; }; cursorCanvas: string; scale: number; minScale: number; maxScale: number; offsetX: number; offsetY: number; currentZoom: number; isDragging: boolean; private lastX; private lastY; activeTool: string; showGrid: boolean; isCropping: boolean; isDraggingCrop: boolean; dragStartX: number; dragStartY: number; cropDragOffsetX: number; cropDragOffsetY: number; private cropStartX; private cropStartY; private cropEndX; private cropEndY; cropCustomSize: { width: number; height: number; }; private isResizingCrop; private resizeHandle; private cropHandles; originalImage: HTMLImageElement; minCrop: number; menuOpenMap: any; rotationAngle: number; isDrawing: boolean; currentTool: string; currentDrawColor: string; currentDrawFillColor: string; isDrawFilling: boolean; currentLineWidth: number; drawingHistory: ImageData[]; historyIndex: number; lastDrawX: number; lastDrawY: number; isDrawingShape: boolean; startDrawX: number; startDrawY: number; constructor(data: any, dialogRef: MatDialogRef, platformId: Object, functionService: FunctionService, vhQueryAutoWeb: VhQueryAutoWeb, changeDetectorRef: ChangeDetectorRef, canvasService: CanvasService); ngOnInit(): void; ngAfterViewInit(): void; /** * Hàm thực hiện khởi tạo canvas */ private initCanvas; /** * Hàm thực hiện lấy hình từ dữ liệu để load đưa lên canvas */ private loadSampleImage; draw(): void; /** * Hàm lấy kích thước của canvas hệ thống */ private adjustCanvasSize; /** * Hàm xử lý sự kiện khi nhấn chuột * @param event Sự kiện nhấn * - Bắt đầu kéo canvas * - Bắt đầu crop image */ onMouseDown(event: MouseEvent): void; /** * Hàm xử lý sự kiện khi di chuyển chuột * @param event Sự kiện di chuyển chuột * - Kéo canvas * - Vẽ khung crop */ onMouseMove(event: MouseEvent): void; /** * Hàm xử lý sự kiện khi thả chuột * - Kết thúc kéo canvas */ onMouseUp(event: MouseEvent): Promise; onRightClick(event: any): void; get allowDragAndZoom(): boolean; /** * Bật chế độ crop */ startCrop(): Promise; setDisabledItemChoose(isReset?: boolean): void; /** * option crop */ handleCrop(type: string): void; private updateCropHandles; private resizeCropArea; private dragCropArea; cancelCrop(): void; resetCropState(): void; /** * Hàm xoay ảnh. Hàm chính với tham số isSave */ rotateImage(isSave?: boolean): Promise; /** * Hàm preview ảnh xoay * * BUG: Hàm này chưa thực sự update lên preview ảnh */ private updatePreview; handleRotate(type: 'right' | 'right90' | 'left' | 'left90' | 'blur' | 'reset'): Promise; /** * Hàm xoá nền ảnh */ removeBackground(): Promise; private getMousePos; private saveState; redo(): void; setTool(tool: 'pen' | 'eraser' | 'circle' | 'square' | string): void; setColor(color: string, isFill?: boolean): void; setLineWidth(width: number): void; clearCanvas(): void; /** * Hàm chèn logo */ addLogo(): void; /** * Hàm reset view */ resetView(): void; /** * Hàm xử lý thu phóng của mat-slider và mat-form-field input * @param event */ onZoomChange(event: any): void; /** * Hàm xử lý thu phóng khi cuộn chuột * @param event Sự kiện cuộn chuột * @returns void * * // @HostListener('window:wheel', ['$event'], {passive: false}) */ onWheel(event: WheelEvent): void; /** * Hàm thực hiện zoom in, zoom out, zoom actual, zoom fit * @param type : 'in' | 'out' | 'actual' | 'fit' * - 'in' : zoom in - Phóng to ảnh canvas ra * - 'out' : zoom out - Thu nhỏ ảnh canvas lại * - 'actual' : zoom actual - Zoom ảnh bằng 100% (Kích thước gốc) * - 'fit' : zoom fit - Zoom ảnh bằng 3/4 container (Vừa giữ nguyên tỉ lệ ảnh vừa cho vừa với khung hình) */ onZoom(type: 'in' | 'out' | 'actual' | 'fit'): void; openPopupSaveFileImg(): void; /** * xử lí chuyển tabs * @param index */ onChangeTab(index: number): void; save(): Promise; undo(): void; private saveAndUpdateImage; updateCropCustomSize(): void; /** * Hàm update hình lên server * @param url đường dẫn hình cần update * @returns */ updateImage(url: string): void; /** * Cập nhật Setups vào database. */ updateSetups(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }