function convert(src, width, height, mime) {
return new Promise(resolve => {
var img = new Image();
img.onload = function () {
var canvas = document.createElement("canvas");
canvas.width = width;
canvas.height = height || ((img.height * canvas.width) / img.width);
var ctx = canvas.getContext("2d");
ctx.imageSmoothingQuality = "high"
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
canvas.toBlob(async (data)=> {
resolve(await data.arrayBuffer())
}, mime, 0.75);
};
img.src = src;
});
}