ngx-image-cropper-upgraded
Version:
An image cropper for Angular upgraded by Spymannn
120 lines (119 loc) • 4.04 kB
TypeScript
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { DomSanitizer, SafeStyle, SafeUrl } from '@angular/platform-browser';
import { CropperPosition, Dimensions, ImageCroppedEvent, ImageTransform } from '../interfaces';
import { MoveTypes } from '../interfaces/move-start.interface';
export declare class ImageCropperComponent implements OnChanges, OnInit {
private sanitizer;
private cd;
private Hammer;
private originalImage;
private transformedImage;
private originalBase64;
private transformedBase64;
private moveStart;
private originalSize;
private transformedSize;
private setImageMaxSizeRetries;
private cropperScaledMinWidth;
private cropperScaledMinHeight;
private cropperScaledMaxWidth;
private cropperScaledMaxHeight;
private exifTransform;
private autoRotateSupported;
private stepSize;
safeImgDataUrl: SafeUrl | string;
safeTransformStyle: SafeStyle | string;
marginLeft: SafeStyle | string;
maxSize: Dimensions;
imageVisible: boolean;
moveTypes: typeof MoveTypes;
wrapper: ElementRef;
sourceImage: ElementRef;
imageChangedEvent: any;
imageURL: string;
imageBase64: string;
imageFile: File;
format: 'png' | 'jpeg' | 'bmp' | 'webp' | 'ico';
maintainAspectRatio: boolean;
transform: ImageTransform;
aspectRatio: number;
resizeToWidth: number;
resizeToHeight: number;
cropperMinWidth: number;
cropperMinHeight: number;
cropperMaxHeight: number;
cropperMaxWidth: number;
cropperStaticWidth: number;
cropperStaticHeight: number;
canvasRotation: number;
initialStepSize: number;
roundCropper: boolean;
onlyScaleDown: boolean;
imageQuality: number;
autoCrop: boolean;
backgroundColor: string;
containWithinAspectRatio: boolean;
hideResizeSquares: boolean;
cropper: CropperPosition;
alignImage: 'left' | 'center';
disabled: boolean;
imageCropped: EventEmitter<ImageCroppedEvent>;
startCropImage: EventEmitter<void>;
imageLoaded: EventEmitter<HTMLImageElement>;
cropperReady: EventEmitter<Dimensions>;
loadImageFailed: EventEmitter<void>;
constructor(sanitizer: DomSanitizer, cd: ChangeDetectorRef);
ngOnChanges(changes: SimpleChanges): void;
private onChangesInputImage;
private isValidImageChangedEvent;
private setCssTransform;
ngOnInit(): void;
private initCropper;
private loadImage;
private loadImageFile;
private isValidImageType;
private loadBase64Image;
private checkExifAndLoadBase64Image;
private loadImageFromURL;
private transformOriginalImage;
private transformImageBase64;
private getTransformedSize;
private setTransformedImage;
imageLoadedInView(): void;
private checkImageMaxSizeRecursively;
private sourceImageLoaded;
onResize(): void;
private activatePinchGesture;
private resizeCropperPosition;
resetCropperPosition(): void;
keyboardAccess(event: any): void;
private changeKeyboardStepSize;
private keyboardMoveCropper;
private getPositionForKey;
private getInvertedPositionForKey;
private getEventForKey;
startMove(event: any, moveType: MoveTypes, position?: string | null): void;
startPinch(event: any): void;
moveImg(event: any): void;
onPinch(event: any): void;
private setMaxSize;
private setCropperScaledMinSize;
private setCropperScaledMinWidth;
private setCropperScaledMinHeight;
private setCropperScaledMaxSize;
private checkCropperPosition;
moveStop(): void;
pinchStop(): void;
private move;
private resize;
private checkAspectRatio;
private doAutoCrop;
crop(): ImageCroppedEvent | null;
private getImagePosition;
private getOffsetImagePosition;
private cropToBase64;
private getQuality;
getResizeRatio(width: number, height: number): number;
private getClientX;
private getClientY;
}