I want to save canvas as PNG, without opening it in a new window as base64-encoded image.
I used this code:
jQuery(\"#btnPreview\").click(function(){
canvas.toDataURL('png')
provides a string a la data:image/png;base64,XYZ
. You could stuff that into an download
(possibly trigger a click event on the element). See Downloading resources in HTML5: a[download]
Currently supported only by Google Chrome, though.