UNPKG

vue-img-cutter

Version:

A image crop plug-in for Vue,you can use it to rotate、zoom images and cut any size

533 lines (525 loc) 13.5 kB
import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; declare const __VLS_export: DefineComponent<ExtractPropTypes<{ modalTitle: { type: StringConstructor; default: string; required: false; }; crossOrigin: { type: BooleanConstructor; default: boolean; required: false; }; crossOriginHeader: { type: StringConstructor; default: string; required: false; }; label: { type: StringConstructor; default: string; required: false; }; isModal: { type: BooleanConstructor; default: boolean; required: false; }; lockScroll: { type: BooleanConstructor; default: boolean; required: false; }; showChooseBtn: { type: BooleanConstructor; default: boolean; required: false; }; boxWidth: { type: NumberConstructor; default: number; required: false; }; boxHeight: { type: NumberConstructor; default: number; required: false; }; cutWidth: { type: NumberConstructor; default: number; required: false; }; cutHeight: { type: NumberConstructor; default: number; required: false; }; rate: { type: PropType<string | null>; default: null; required: false; }; tool: { type: BooleanConstructor; default: boolean; required: false; }; toolBgc: { type: StringConstructor; default: string; required: false; }; imgMove: { type: BooleanConstructor; default: boolean; required: false; }; sizeChange: { type: BooleanConstructor; default: boolean; required: false; }; originalGraph: { type: BooleanConstructor; default: boolean; required: false; }; moveAble: { type: BooleanConstructor; default: boolean; required: false; }; previewMode: { type: BooleanConstructor; default: boolean; required: false; }; CuttingOriginal: { type: BooleanConstructor; default: boolean; required: false; }; WatermarkText: { type: StringConstructor; default: string; required: false; }; WatermarkTextFont: { type: StringConstructor; default: string; required: false; }; WatermarkTextColor: { type: StringConstructor; default: string; required: false; }; WatermarkTextX: { type: NumberConstructor; default: number; required: false; }; WatermarkTextY: { type: NumberConstructor; default: number; required: false; }; smallToUpload: { type: BooleanConstructor; default: boolean; required: false; }; saveCutPosition: { type: BooleanConstructor; default: boolean; required: false; }; scaleAble: { type: BooleanConstructor; default: boolean; required: false; }; index: { default: null; required: false; type: (StringConstructor | NumberConstructor)[]; }; fileType: { default: string; required: false; type: StringConstructor; }; toolBoxOverflow: { type: BooleanConstructor; default: boolean; required: false; }; DoNotDisplayCopyright: { type: BooleanConstructor; default: boolean; required: false; }; quality: { type: NumberConstructor; default: number; required: false; }; accept: { type: StringConstructor; default: string; required: false; }; afterChooseImg: { type: PropType<(e: Event) => Promise<boolean> | boolean>; default: null; required: false; }; }>, {}, { version: string; visible: boolean; fileName: string; cutImageObj: HTMLImageElement | null; onPrintImgTimmer: any; toolBoxPosition: { x: number; y: number; }; drawImg: DrawImg; toolBox: ToolBox; dropImg: DropImg; rotateImg: { angle: number; }; rotateControl: RotateControl; scaleImg: { rate: number; params: {}; }; controlBox: { disable: boolean; btnName: string; start: { x: number; y: number; width: number; height: number; }; }; selectBox: boolean; selectBoxColor: string; isFlipHorizontal: boolean; isFlipVertically: boolean; }, { showToolBoxWidth(): string; showToolBoxHeight(): string; showToolBoxX(): string; showToolBoxY(): string; }, { handleOpen(img: any): void; handleClose(): void; chooseImg(): void; importImgToCanv(img: HTMLImageElement): void; putImgToCanv(e: any): Promise<false | undefined>; putToolBox(): void; checkToolBoxOverflow(): Promise<void>; isSupportFileApi(): boolean; dataURLtoFile(dataurl: string, filename: string): File | "不支持File对象"; clearAll(): void; clearCutImageObj(): void; drawControlBox(width: number, height: number, x: number, y: number): void; resetToolBox(): void; toolBoxMouseDown(e: MouseEvent): void; toolBoxMouseMove(e: MouseEvent): void; toolBoxMouseLeave(): void; toolBoxMouseUp(): void; printImg(): void; dropImgOn(e: MouseEvent): void; dropImgOff(): void; dropImgMove(e: MouseEvent): void; scaleReset(): void; scaleImgWheel(e: any): false; flipHorizontal(): void; flipVertically(): void; turnImg(angle: number): void; turnReset(): void; controlBtnMouseDown(e: MouseEvent, btnName: string): void; controlBtnMouseUp(e: MouseEvent): void; controlBtnMouseMove(e: MouseEvent): void; changeFileName(fileName: string, type: string): string; cropPicture(doNotReset: boolean): void; scrollBarControlMove(e: MouseEvent): void; scrollBarControlOn(e: MouseEvent): void; scrollBarControlOff(): void; }, ComponentOptionsMixin, ComponentOptionsMixin, ("onImageLoadError" | "error" | "onImageLoadComplete" | "onChooseImg" | "onClearAll" | "cutDown" | "onPrintImg")[], "onImageLoadError" | "error" | "onImageLoadComplete" | "onChooseImg" | "onClearAll" | "cutDown" | "onPrintImg", PublicProps, Readonly< ExtractPropTypes<{ modalTitle: { type: StringConstructor; default: string; required: false; }; crossOrigin: { type: BooleanConstructor; default: boolean; required: false; }; crossOriginHeader: { type: StringConstructor; default: string; required: false; }; label: { type: StringConstructor; default: string; required: false; }; isModal: { type: BooleanConstructor; default: boolean; required: false; }; lockScroll: { type: BooleanConstructor; default: boolean; required: false; }; showChooseBtn: { type: BooleanConstructor; default: boolean; required: false; }; boxWidth: { type: NumberConstructor; default: number; required: false; }; boxHeight: { type: NumberConstructor; default: number; required: false; }; cutWidth: { type: NumberConstructor; default: number; required: false; }; cutHeight: { type: NumberConstructor; default: number; required: false; }; rate: { type: PropType<string | null>; default: null; required: false; }; tool: { type: BooleanConstructor; default: boolean; required: false; }; toolBgc: { type: StringConstructor; default: string; required: false; }; imgMove: { type: BooleanConstructor; default: boolean; required: false; }; sizeChange: { type: BooleanConstructor; default: boolean; required: false; }; originalGraph: { type: BooleanConstructor; default: boolean; required: false; }; moveAble: { type: BooleanConstructor; default: boolean; required: false; }; previewMode: { type: BooleanConstructor; default: boolean; required: false; }; CuttingOriginal: { type: BooleanConstructor; default: boolean; required: false; }; WatermarkText: { type: StringConstructor; default: string; required: false; }; WatermarkTextFont: { type: StringConstructor; default: string; required: false; }; WatermarkTextColor: { type: StringConstructor; default: string; required: false; }; WatermarkTextX: { type: NumberConstructor; default: number; required: false; }; WatermarkTextY: { type: NumberConstructor; default: number; required: false; }; smallToUpload: { type: BooleanConstructor; default: boolean; required: false; }; saveCutPosition: { type: BooleanConstructor; default: boolean; required: false; }; scaleAble: { type: BooleanConstructor; default: boolean; required: false; }; index: { default: null; required: false; type: (StringConstructor | NumberConstructor)[]; }; fileType: { default: string; required: false; type: StringConstructor; }; toolBoxOverflow: { type: BooleanConstructor; default: boolean; required: false; }; DoNotDisplayCopyright: { type: BooleanConstructor; default: boolean; required: false; }; quality: { type: NumberConstructor; default: number; required: false; }; accept: { type: StringConstructor; default: string; required: false; }; afterChooseImg: { type: PropType<(e: Event) => Promise<boolean> | boolean>; default: null; required: false; }; }>> & Readonly<{ onOnImageLoadError?: ((...args: any[]) => any) | undefined; onError?: ((...args: any[]) => any) | undefined; onOnImageLoadComplete?: ((...args: any[]) => any) | undefined; onOnChooseImg?: ((...args: any[]) => any) | undefined; onOnClearAll?: ((...args: any[]) => any) | undefined; onCutDown?: ((...args: any[]) => any) | undefined; onOnPrintImg?: ((...args: any[]) => any) | undefined; }>, { modalTitle: string; crossOrigin: boolean; crossOriginHeader: string; label: string; isModal: boolean; lockScroll: boolean; showChooseBtn: boolean; boxWidth: number; boxHeight: number; cutWidth: number; cutHeight: number; rate: string | null; tool: boolean; toolBgc: string; imgMove: boolean; sizeChange: boolean; originalGraph: boolean; moveAble: boolean; previewMode: boolean; CuttingOriginal: boolean; WatermarkText: string; WatermarkTextFont: string; WatermarkTextColor: string; WatermarkTextX: number; WatermarkTextY: number; smallToUpload: boolean; saveCutPosition: boolean; scaleAble: boolean; index: string | number; fileType: string; toolBoxOverflow: boolean; DoNotDisplayCopyright: boolean; quality: number; accept: string; afterChooseImg: (e: Event) => Promise<boolean> | boolean; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; declare const _default: typeof __VLS_export; export default _default; declare interface DrawImg { img: HTMLImageElement | null; sx: number; sy: number; swidth: number; sheight: number; x: number; y: number; width: number; height: number; } declare interface DropImg { active: boolean; pageX: number; pageY: number; params: Partial<DrawImg>; } declare interface RotateControl { active: boolean; start: { x: number; y: number; position: number; }; position: number; } declare interface ToolBox { disable: boolean; width: number; height: number; x: number; y: number; boxMove: { start: { x: number; y: number; }; moveTo: { x: number; y: number; }; }; } export { }