1.0.2-0 • Published 5 years ago

process-image v1.0.2-0

Weekly downloads
1
License
UNLICENSED
Repository
-
Last release
5 years ago

图片压缩 SDK

基于 Squoosh 封装, 内置 pica 通过 resize 传参, url 支持 File 对象 或者 图片链接,

demo 页的服务端压缩需要启动项目 image-uploader

### 启动 demo 页
npm run dev

### 打包
npm run build

默认导出 Process

options: {
  // 加载库超时时间 默认 5000
  timeout?: number;
  // 自动加载的库 ['imagequant', 'optipng', 'pica'],不配置则加载全部
  autoInstallLibs?: string[];
}

const process = new Process(options);

process.processImage({
  url: '',
  quality: 80
});

process.event.on('processStart', () => {
  console.log('图片开始处理');
})
process.event.on('processing', (message) => {
  console.log(message);
})
process.event.on('processEnd', () => {
  console.log('图片压缩完成');
})

提供以下工具 API

blobToArrayBuffer(blob: Blob): Promise

canvasEncode(data: ImageData, type: string, quality?: number): Promise

resize(data: ImageData, opts: ResizeOptions): ImageData

processSvg(blob: Blob): Promise

decodeFile(file: File): Promise<ImageData | undefined>

blobToImg(blob: Blob): Promise<HTMLImageElement | undefined>

TODO

  • 优化打包构建

  • 支持异步引入模块