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