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
TypeScript
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 { }