@meframe/core
Version:
Next generation media processing framework based on WebCodecs
33 lines (32 loc) • 890 B
JavaScript
async function createImageBitmapFromBlob(blob) {
if (blob.type === "image/svg+xml") {
return createImageBitmapFromSVG(blob);
}
return createImageBitmap(blob, {
premultiplyAlpha: "premultiply",
colorSpaceConversion: "default",
imageOrientation: "from-image"
});
}
async function createImageBitmapFromSVG(blob) {
return new Promise((resolve, reject) => {
const url = URL.createObjectURL(blob);
const img = new Image();
img.onload = () => {
URL.revokeObjectURL(url);
createImageBitmap(img, {
premultiplyAlpha: "premultiply",
colorSpaceConversion: "default"
}).then(resolve).catch(reject);
};
img.onerror = () => {
URL.revokeObjectURL(url);
reject(new Error("Failed to load SVG image"));
};
img.src = url;
});
}
export {
createImageBitmapFromBlob
};
//# sourceMappingURL=image-utils.js.map