File size: 1,403 Bytes
c7f95a6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from PIL import Image
from PyQt5.QtWidgets import QApplication

from app_settings import AppSettings
from backend.models.lcmdiffusion_setting import DiffusionTask
from frontend.gui.img2img_widget import Img2ImgWidget
from frontend.webui.image_variations_ui import generate_image_variations


class ImageVariationsWidget(Img2ImgWidget):
    def __init__(self, config: AppSettings, parent):
        super().__init__(config, parent)
        # Hide prompt and negative prompt widgets
        self.prompt.hide()
        self.neg_prompt_label.hide()
        self.neg_prompt.setEnabled(False)

    def generate_image(self):
        self.parent.prepare_generation_settings(self.config)
        self.config.settings.lcm_diffusion_setting.diffusion_task = (
            DiffusionTask.image_to_image.value
        )
        self.config.settings.lcm_diffusion_setting.prompt = ""
        self.config.settings.lcm_diffusion_setting.negative_prompt = ""
        self.config.settings.lcm_diffusion_setting.init_image = Image.open(
            self.img_path.text()
        )
        self.config.settings.lcm_diffusion_setting.strength = self.strength.value() / 10

        images = generate_image_variations(
            self.config.settings.lcm_diffusion_setting.init_image,
            self.config.settings.lcm_diffusion_setting.strength,
        )
        self.prepare_images(images)
        self.after_generation()