From 855201b2e2d79f7628c29e42fcd801dacd11e89d Mon Sep 17 00:00:00 2001 From: hashcoko Date: Mon, 27 Nov 2023 10:21:42 +0900 Subject: [PATCH] Add image selection feature to OtherBotSettings.svelte Signed-off-by: hashcoko --- src/lib/Setting/Pages/OtherBotSettings.svelte | 20 ++++++++++++++++++ src/ts/process/stableDiff.ts | 21 +++++++++++-------- src/ts/storage/database.ts | 6 ++++-- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/lib/Setting/Pages/OtherBotSettings.svelte b/src/lib/Setting/Pages/OtherBotSettings.svelte index 8bea7bb2..197176ad 100644 --- a/src/lib/Setting/Pages/OtherBotSettings.svelte +++ b/src/lib/Setting/Pages/OtherBotSettings.svelte @@ -2,6 +2,7 @@ import Check from "src/lib/UI/GUI/CheckInput.svelte"; import { language } from "src/lang"; import Help from "src/lib/Others/Help.svelte"; + import { selectSingleFile } from "src/ts/util"; import { DataBase } from "src/ts/storage/database"; import { isTauri } from "src/ts/storage/globalApi"; import NumberInput from "src/lib/UI/GUI/NumberInput.svelte"; @@ -9,6 +10,8 @@ import SelectInput from "src/lib/UI/GUI/SelectInput.svelte"; import OptionInput from "src/lib/UI/GUI/OptionInput.svelte"; import SliderInput from "src/lib/UI/GUI/SliderInput.svelte"; + import Button from "src/lib/UI/GUI/Button.svelte"; + import { convertToBase64 } from "src/ts/process/uinttobase64";

{language.otherBots}

@@ -80,6 +83,23 @@ {$DataBase.NAIImgConfig.noise} + base image + + If empty, a profile picture is sent. + + {/if} Width diff --git a/src/ts/process/stableDiff.ts b/src/ts/process/stableDiff.ts index efc2e943..262fbb14 100644 --- a/src/ts/process/stableDiff.ts +++ b/src/ts/process/stableDiff.ts @@ -177,18 +177,21 @@ export async function stableDiff(currentChar:character,prompt:string){ } - const charimg = currentChar.image; // Uint8Array 형태의 이미지 데이터 - console.log("charimg:" + charimg); - - const img = await readImage(charimg) - console.log("img:" + img); - const base64 = await convertToBase64(img); - const base64img = base64.split('base64,')[1]; - - console.log("base64img:" + base64img); + let reqlist= {} if(db.NAII2I){ + let base64img = '' + if(db.NAIImgConfig.image === ''){ + const charimg = currentChar.image; + + const img = await readImage(charimg) + const base64 = await convertToBase64(img); + base64img = base64.split('base64,')[1]; + }else{ + base64img = db.NAIImgConfig.image.split('base64,')[1]; + } + let randomseed = generateRandomSeed(10); let seed = parseInt(randomseed, 10); reqlist = { diff --git a/src/ts/storage/database.ts b/src/ts/storage/database.ts index a727e5c2..67bcafca 100644 --- a/src/ts/storage/database.ts +++ b/src/ts/storage/database.ts @@ -253,7 +253,8 @@ export function setDatabase(data:Database){ sm:true, sm_dyn:true, noise:0.0, - strength:0.3 + strength:0.3, + image:"" } } if(checkNullish(data.customTextTheme)){ @@ -756,7 +757,8 @@ interface NAIImgConfig{ sm:boolean, sm_dyn:boolean, noise:number, - strength:number + strength:number, + image:string } export type FormatingOrderItem = 'main'|'jailbreak'|'chats'|'lorebook'|'globalNote'|'authorNote'|'lastChat'|'description'|'postEverything'|'personaPrompt'