Preserve mask when sending output into image upload

This commit is contained in:
space-nuko
2023-05-27 22:39:07 -05:00
parent cb9e8540a0
commit 3b9d4533f9
5 changed files with 59 additions and 28 deletions

View File

@@ -5,8 +5,6 @@
import Row from "$lib/components/gradio/app/Row.svelte";
import { writable, type Writable } from "svelte/store";
import { Button } from "@gradio/button";
import ImageUpload from "$lib/components/ImageUpload.svelte";
import {
type ComfyBoxImageMetadata,
comfyFileToComfyBoxMetadata,
@@ -16,13 +14,12 @@
convertComfyOutputToComfyURL,
batchUploadBlobsToComfyUI,
canvasToBlob,
basename
} from "$lib/utils";
import ImageUpload from "$lib/components/ImageUpload.svelte";
import notify from "$lib/notify";
import { ImageViewer } from "$lib/ImageViewer";
import MaskCanvas, { type MaskCanvasData } from "$lib/components/MaskCanvas.svelte";
import MaskCanvas, { type LineGroup, type MaskCanvasData } from "$lib/components/MaskCanvas.svelte";
import type { ComfyImageUploadNode } from "$lib/nodes/widgets";
import { tick } from "svelte";
@@ -65,7 +62,7 @@
async function onMaskReleased(e: CustomEvent<MaskCanvasData>) {
const data = e.detail;
if (data.maskCanvas && data.hasMask) {
if (data.maskCanvas != null && data.hasMask) {
await saveMask(data.maskCanvas)
}
}
@@ -203,7 +200,6 @@
$: canEdit = status === "empty" || status === "uploaded";
function onChange(e: CustomEvent<ComfyImageLocation[]>) {
}
</script>
@@ -229,7 +225,7 @@
{#if _value && canMask}
{@const comfyURL = convertComfyOutputToComfyURL(_value[0])}
<div class="mask-canvas-wrapper" style:display={editMask ? "block" : "none"}>
<MaskCanvas bind:this={maskCanvasComp} fileURL={comfyURL} on:release={onMaskReleased} />
<MaskCanvas bind:this={maskCanvasComp} fileURL={comfyURL} on:release={onMaskReleased} on:loaded={onMaskReleased} />
</div>
{/if}
<div style:display={(canMask && editMask) ? "none" : "block"}>