Spaces:
Paused
Paused
from PyQt5.QtWidgets import ( | |
QWidget, | |
QPushButton, | |
QHBoxLayout, | |
QVBoxLayout, | |
QLabel, | |
QLineEdit, | |
QMainWindow, | |
QSlider, | |
QTabWidget, | |
QSpacerItem, | |
QSizePolicy, | |
QComboBox, | |
QCheckBox, | |
QTextEdit, | |
QToolButton, | |
QFileDialog, | |
QApplication, | |
) | |
from PyQt5 import QtWidgets, QtCore | |
from PyQt5.QtGui import QPixmap, QDesktopServices, QDragEnterEvent, QDropEvent | |
from PyQt5.QtCore import QSize, QThreadPool, Qt, QUrl, QBuffer | |
import io | |
from PIL import Image | |
from constants import DEVICE | |
from PIL.ImageQt import ImageQt | |
from app_settings import AppSettings | |
from urllib.parse import urlparse, unquote | |
from frontend.gui.img2img_widget import Img2ImgWidget | |
from backend.models.lcmdiffusion_setting import DiffusionTask | |
from frontend.gui.image_generator_worker import ImageGeneratorWorker | |
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() | |
# Test the widget | |
if __name__ == "__main__": | |
import sys | |
app = QApplication(sys.argv) | |
widget = ImageVariationsWidget(None, None) | |
widget.show() | |
app.exec() | |