hi,
Das Canvas-Element hat eine Methode toDataURL() mit der du eine dataURL erzeugen kannst, das ist eine spezielle Form von URL, die für genau diese Zwecke entworfen wurde.
DataURL ist ein Base64-String. Den würde ich nicht zum Download anbieten. Es gibt aber noch eine andere Methode für canvas:
canvas.toBlob(function(blob) {
saveAs(blob);
}, 'image/bmp', 1);
womit als Download auch image/jpeg oder image/png möglich sind, nähreres auf dem MDN.
Ob der Umweg über canvas gegangen werden muss, hängt davon ab wie weiter oben das src-Attribut fürs Image-Objekt erzeugt wird, bzw. davon, wo für das src-Attribut die Daten herkommen.
MfG