fiora/packages/utils/compressImage.ts
碎碎酱 ca7c13da05
Migrate to monorepo project (#413)
* Refactor as monorepo

* Fix server

* Fix client

* Fix not fire message event error

* Fix CI scripts

* Update install doc

* Fix bin

* Refactored the directory structure to the final version

* Fix ts type error

* Fix lint error

* Fix unit test error

* Update .gitignore
2021-07-19 21:21:34 +08:00

26 lines
640 B
TypeScript

/**
* 压缩图片
* @param image 要压缩的图片
* @param mimeType mime类型
* @param quality 质量
*/
export default function compressImage(
image: HTMLImageElement,
mimeType: string,
quality = 1,
): Promise<Blob | null> {
return new Promise((resolve) => {
const canvas = document.createElement('canvas');
canvas.width = image.width;
canvas.height = image.height;
const ctx = canvas.getContext('2d');
if (ctx) {
ctx.drawImage(image, 0, 0);
canvas.toBlob(resolve, mimeType, quality);
} else {
resolve(null);
}
});
}