index.d.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. export const canvastoDataURL: (canvas: HTMLCanvasElement, quality?: number, type?: EImageType) => Promise<string>;
  2. export const canvastoFile: (canvas: HTMLCanvasElement, quality?: number, type?: EImageType) => Promise<Blob>;
  3. export const dataURLtoFile: (dataURL: string, type?: EImageType) => Promise<Blob>;
  4. export const dataURLtoImage: (dataURL: string) => Promise<HTMLImageElement>;
  5. export const downloadFile: (file: Blob, fileName: string) => void;
  6. export const filetoDataURL: (file: Blob) => Promise<string>;
  7. export const imagetoCanvas: (image: HTMLImageElement, config?: Image2CanvasConfig) => Promise<HTMLCanvasElement>;
  8. export const urltoBlob: (url: string) => Promise<Blob>;
  9. export const urltoImage: (url: string) => Promise<HTMLImageElement>;
  10. export const compress: (file: Blob, config?: ICompressConfig | number) => Promise<Blob>;
  11. export const compressAccurately: (file: Blob, config?: compressAccuratelyConfig | number) => Promise<Blob>;
  12. export enum EImageType {
  13. 'PNG' = 'image/png',
  14. 'JPEG' = 'image/jpeg',
  15. 'GIF' = 'image/gif'
  16. }
  17. interface IBaseConfig {
  18. [key: string]: any;
  19. }
  20. interface Image2CanvasConfig extends IBaseConfig {
  21. width?: number,
  22. height?: number,
  23. scale?: number,
  24. orientation?: number,
  25. }
  26. interface ICompressConfig extends Image2CanvasConfig {
  27. quality?: number,
  28. type?: EImageType,
  29. }
  30. interface compressAccuratelyConfig extends Image2CanvasConfig {
  31. size?: number,
  32. accuracy?: number,
  33. type?: EImageType,
  34. }