@sanity/form-builder
Version:
Sanity form builder
31 lines (30 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.imageUrlToBlob = imageUrlToBlob;
function imageUrlToBlob(imageUrl) {
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image/jpeg';
var quality = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
if (imageUrl.match(/^webkit-fake-url:\/\//)) {
return Promise.reject(new Error('Cannot read image contents from webkit fake url'));
}
return new Promise((resolve, reject) => {
var loader = new Image();
loader.crossOrigin = 'anonymous';
loader.referrerPolicy = 'strict-origin-when-cross-origin';
loader.onload = () => {
var canvas = document.createElement('canvas');
canvas.width = loader.width;
canvas.height = loader.height;
var 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;
});
}