forked from ericnograles/browser-image-resizer
-
Notifications
You must be signed in to change notification settings - Fork 8
/
index.ts
23 lines (21 loc) · 672 Bytes
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { scaleImage } from './scaling_operations';
export type BrowserImageResizerConfig = {
quality: number;
maxWidth: number;
maxHeight: number;
maxSize?: number; // ???
scaleRatio?: number; // ???
debug: boolean;
mimeType: string;
};
const DEFAULT_CONFIG: BrowserImageResizerConfig = {
quality: 0.5,
maxWidth: 800,
maxHeight: 600,
debug: false,
mimeType: 'image/jpeg',
};
export async function readAndCompressImage(img: ImageBitmapSource | OffscreenCanvas, userConfig: Partial<BrowserImageResizerConfig>) {
const config: BrowserImageResizerConfig = Object.assign({}, DEFAULT_CONFIG, userConfig);
return scaleImage({ img, config });
}