vue-select-avatar
Version:
33 lines (32 loc) • 1.55 kB
TypeScript
import { CropperOptions, ImageInfo, ImageSelectOptions, ImageSelectResult, PointPosition, Position, SimplePosition } from './types';
export interface SelectFileOptions {
accept?: string;
multiple?: boolean;
}
/**
* 选择文件
* @example
* selectFile({ accept: 'image/*', multiple: true }).then(files => {
* console.log(files)
* })
*/
export declare const selectFile: (options?: SelectFileOptions) => Promise<File[]>;
/**
* 选择并验证图片文件
* @param options 图片选择配置选项
* @returns 验证通过的File对象数组
*/
export declare const selectImage: (options?: ImageSelectOptions) => Promise<ImageSelectResult>;
interface ImageDimensions {
width: number;
height: number;
}
export declare const getImageDimensions: (file: File) => Promise<ImageDimensions>;
export declare const resizeImage: (file: File, dimensions: ImageDimensions, type?: string, quality?: number) => Promise<File>;
export declare const loadImage: (url: string, revoke?: boolean) => Promise<HTMLImageElement>;
export declare const canvasToBlob: (canvas: HTMLCanvasElement, type?: string, quality?: number) => Promise<Blob>;
export declare const blobToBase64: (blob: Blob) => Promise<string>;
export declare const cropper: <T extends File | string = File | string>(info: ImageInfo, pos: Position, options?: CropperOptions) => Promise<T>;
export declare const getIsClipPathSupported: () => boolean;
export declare const getPointOffset: (value: SimplePosition, pos: Position, position: PointPosition) => SimplePosition;
export {};