|
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) |
|
|
|
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() |
|
|