What are the different ways to save a canvas object?
In my research, I've found two approaches:
var data = canvas.toDataURL(); var prev = window.location.href; window.location.href = data.replace("image/png", "image/octet-stream"); window.location.href = prev;
Another way is to take a snapshot.
Are there other ways to do this?
Is it possible to customize the download filename?
function convertCanvasToImage() { let canvas = document. getElementById("canvas"); let image = new Image(); image. src = canvas. toDataURL(); return image; } let pnGImage = convertCanvasToImage(); document.
You can save a canvas to an image file by using the method canvas. toDataURL() , that returns the data URI for the canvas' image data. The method can take two optional parameters canvas.
Solution that requires NO BUTTON:
var download = function(){ var link = document.createElement('a'); link.download = 'filename.png'; link.href = document.getElementById('canvas').toDataURL() link.click(); }
Useful if you have other triggers for downloading, or triggers that you can't easily reference.
The one way to save is exporting as an image... You already found this solution, and it's the best one i think ;)
var canvas = document.getElementById("mycanvas"); var img = canvas.toDataURL("image/png"); document.write('<img src="'+img+'"/>');
You can use different image types. Change the mimetype in this function:
canvas.toDataURL("image/jpeg");
An other way to save canvas data (into a PDF) is using the wkhtmltopdf Library
Cheers. Frank
frankneff.ch / @frankneff
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With