We are about to switch to a new forum software. Until then we have removed the registration on this forum.
I want the user to be able to download the canvas as an image.
I have found several ways to make this work for desktop browsers, but none of them work on iOS (Safari and Chrome). The techniques I've tried: the P5 save() function, the .toDataURL() method, and the P5 saveFrames() function.
The result on iOS is a long string in the URL field and an "Unknown" or "Download error" message in the viewport.
The code:
function saveImage() {
var fullfilename = filename + ".jpeg";
if (savemethod === 1) {
// Attempt 1
save(fullfilename);
} else if (savemethod === 2) {
// Attempt 2
var image = defaultCanvas0.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
var anchor = document.createElement('a');
anchor.setAttribute('href', image);
anchor.setAttribute('download', fullfilename);
anchor.click();
} else if (savemethod === 3) {
// Attempt 3
saveFrames(filename, "jpg", 1, 1);
}
}
Answers
Maybe this: https://github.com/devgeeks/Canvas2ImagePlugin