


In that case, result canvas can be with bad quality or just empty, or browser can fall with memory limit exception. This solution will be faster but will be the worse solution for high-resolution images, for example 6000圆000 pixels. You can use offscreen canvas, without attaching the canvas to a body, and resize an image.(good for High-resolution images, without canvas size restriction)

You can get image data from a file by jpg-js (or draw an image on canvas)and then resize canvasImageData by resizing lib pica.You can convert js file to image bitmap by jpg-js.And you can resize only by this lib, but in a case of resizing from very large image to very small, quality will be very bad.Best way for high-res images is to convert file to bitmap by jpg-js and then resize this bitmap by Pica lib.These solutions good for resizing not just converting image to base64. It is straight forward to do: function imageToDataUri(img, width, height) // Use it like : var newDataURI = await resizedataURL('yourDataURIHere', 50, 50) įor more details you can check MDN Docs : This will provide a bitmap buffer and native compiled code to encode the image data. A way to avoid the main HTML to be affected is to create an off-screen canvas that is kept out of the DOM-tree.
