From 460130396f5cab4cf98c6123b3a2e56c9e88d189 Mon Sep 17 00:00:00 2001 From: Victor Seiji Hariki Date: Sun, 11 Dec 2022 21:01:55 -0300 Subject: [PATCH] add button to dream to save current image (no sc) Signed-off-by: Victor Seiji Hariki --- js/ui/tool/dream.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/js/ui/tool/dream.js b/js/ui/tool/dream.js index b2dd333..ec9719a 100644 --- a/js/ui/tool/dream.js +++ b/js/ui/tool/dream.js @@ -235,6 +235,8 @@ const _generate = async ( }; const applyImg = async () => { + if (!images[at]) return; + const img = new Image(); // load the image data after defining the closure img.src = "data:image/png;base64," + images[at]; @@ -273,6 +275,25 @@ const _generate = async ( clean(); }; + const saveImg = async () => { + if (!images[at]) return; + + const img = new Image(); + // load the image data after defining the closure + img.src = "data:image/png;base64," + images[at]; + img.addEventListener("load", () => { + const canvas = document.createElement("canvas"); + canvas.width = img.width; + canvas.height = img.height; + canvas.getContext("2d").drawImage(img, 0, 0); + + downloadCanvas({ + canvas, + filename: `openOutpaint - dream - ${request.prompt} - ${at}.png`, + }); + }); + }; + // Listen for keyboard arrows const onarrow = (evn) => { switch (evn.target.tagName.toLowerCase()) { @@ -385,6 +406,14 @@ const _generate = async ( }); }); imageSelectMenu.appendChild(resourcebtn); + + const savebtn = document.createElement("button"); + savebtn.textContent = "S"; + savebtn.title = "Download image to computer"; + savebtn.addEventListener("click", async () => { + saveImg(); + }); + imageSelectMenu.appendChild(savebtn); }; /**