@lyra/form-builder
Version:
Lyra form builder
31 lines (29 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.imageUrlToBlob = imageUrlToBlob;
// Loads an image, inserts it into a canvas and loads the canvas contents into a blob
require('canvas-to-blob').init();
function imageUrlToBlob(imageUrl, format = 'image/jpeg', quality = 1) /*: Promise<Blob>*/ {
if (imageUrl.match(/^webkit-fake-url:\/\//)) {
return Promise.reject(new Error('Cannot read image contents from webkit fake url'));
}
return new Promise((resolve, reject) => {
const loader = new Image();
loader.crossOrigin = 'anonymous';
loader.onload = () => {
const canvas = document.createElement('canvas');
canvas.width = loader.width;
canvas.height = loader.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(loader, 0, 0, canvas.width, canvas.height);
try {
canvas.toBlob(resolve, format, quality);
} catch (error) {
reject(error);
}
};
loader.src = imageUrl;
});
}