process-image
v1.0.2-0
Published
基于 [Squoosh](https://github.com/GoogleChromeLabs/squoosh) 封装, 内置 `pica` 通过 `resize` 传参, `url` 支持 `File` 对象 或者 图片链接,
Downloads
3
Readme
图片压缩 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
[x] 优化打包构建
[x] 支持异步引入模块