UNPKG

@awesome-compressor/browser-compress-image

Version:

🚀 A powerful, lightweight browser image compression library with TypeScript support. Compress JPEG, PNG, GIF images with multiple output formats (Blob, File, Base64, ArrayBuffer) and zero dependencies.

26 lines (24 loc) • 1.26 kB
import { __esm, __export } from "./chunk-BaU5PcSi.js"; import imageCompression from "browser-image-compression"; //#region src/tools/compressWithBrowserImageCompression.ts var compressWithBrowserImageCompression_exports = {}; __export(compressWithBrowserImageCompression_exports, { default: () => compressWithBrowserImageCompression }); async function compressWithBrowserImageCompression(file, options) { const { quality, mode, targetWidth, targetHeight, maxWidth, maxHeight, preserveExif = false } = options; const compressionOptions = { useWebWorker: true, initialQuality: quality, alwaysKeepResolution: mode === "keepSize", exifOrientation: 1, fileType: file.type, preserveExif, maxSizeMB: file.size * .8 / (1024 * 1024), maxWidthOrHeight: Math.min(maxWidth || targetWidth, maxHeight || targetHeight) || void 0 }; const compressedBlob = await imageCompression(file, compressionOptions); if (compressedBlob.size >= file.size * .98) return file; return compressedBlob; } var init_compressWithBrowserImageCompression = __esm({ "src/tools/compressWithBrowserImageCompression.ts"() {} }); //#endregion export { compressWithBrowserImageCompression, compressWithBrowserImageCompression_exports, init_compressWithBrowserImageCompression };