diff options
author | Orangerot <purple@orangerot.dev> | 2024-12-12 01:18:06 +0100 |
---|---|---|
committer | Orangerot <purple@orangerot.dev> | 2024-12-12 01:18:06 +0100 |
commit | 313142d111111f69764b6eb07e4041a71c7d322a (patch) | |
tree | 66425dac40fcf8a57af2345b24b70ed72daa1483 | |
parent | f08b0b4d51f1ba0f003cd9bffd6b481a92ae52de (diff) |
feat: share image
-rw-r--r-- | main.js | 20 |
1 files changed, 18 insertions, 2 deletions
@@ -97,7 +97,8 @@ function upload_image() { img.onload = () => draw(true); } -function save_image() { +function save_image(event) { + event.preventDefault(); draw(false); const dataUrl = canvas.toDataURL("image/png"); @@ -108,8 +109,23 @@ function save_image() { link.click(); } -function share_image() { +function share_image(event) { + event.preventDefault(); + if (!navigator.share) { + console.log("navigator.share does not exist"); + return; + } + + canvas.toBlob(async (blob) => { + if (!blob) return; + const file = new File([blob], 'imagine.png', {type: 'image/png'}); + try { + await navigator.share({files: [file]}); + } catch (error) { + console.log('Error sharing:', error); + } + }, 'image/png'); } function settings_apply(event) { |