stable-diffusion-webui
32 строки · 1.1 Кб
1from PIL import ImageOps, Image2
3from modules import scripts_postprocessing, ui_components4import gradio as gr5
6
7class ScriptPostprocessingCreateFlippedCopies(scripts_postprocessing.ScriptPostprocessing):8name = "Create flipped copies"9order = 403010
11def ui(self):12with ui_components.InputAccordion(False, label="Create flipped copies") as enable:13with gr.Row():14option = gr.CheckboxGroup(value=["Horizontal"], choices=["Horizontal", "Vertical", "Both"], show_label=False)15
16return {17"enable": enable,18"option": option,19}20
21def process(self, pp: scripts_postprocessing.PostprocessedImage, enable, option):22if not enable:23return24
25if "Horizontal" in option:26pp.extra_images.append(ImageOps.mirror(pp.image))27
28if "Vertical" in option:29pp.extra_images.append(pp.image.transpose(Image.Transpose.FLIP_TOP_BOTTOM))30
31if "Both" in option:32pp.extra_images.append(pp.image.transpose(Image.Transpose.FLIP_TOP_BOTTOM).transpose(Image.Transpose.FLIP_LEFT_RIGHT))33