UNPKG

@etsoo/editor

Version:

ETSOO Free WYSIWYG HTML Editor

63 lines (61 loc) 1.6 kB
/** * Image utilies */ var ImageUtils; (function (ImageUtils) { /** * Calcuate max size * @param source Source size * @param maxSize Max size * @returns Result */ function calcMax(source, maxSize) { if (source.width > maxSize || source.height > maxSize) { const wr = source.width / maxSize; const hr = source.height / maxSize; if (hr > wr) { return { width: source.width / hr, height: maxSize }; } else { return { width: maxSize, height: source.height / wr }; } } else { return source; } } ImageUtils.calcMax = calcMax; /** * Resize * @param source Source * @param size Target size * @param quality Quality * @returns Canvas */ async function resize( // For Blob, createImageBitmap(blob) source, size, quality) { // Dynamic load pica const pica = (await import('pica')).default; // Canvas const to = document.createElement("canvas"); to.width = size.width; to.height = size.height; // pica instance const pi = pica(); return await pi.resize(source, to, { quality, unsharpAmount: 160, unsharpRadius: 0.6, unsharpThreshold: 1 }); } ImageUtils.resize = resize; })(ImageUtils || (ImageUtils = {})); export { ImageUtils };