Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cdb88d798d | |||
| d66fa38804 | |||
| d36b732f55 | |||
| 9d39380705 | |||
| ddb28b33a3 | |||
| 1c0a0c4c26 | |||
| 7dfe959f4b | |||
| 8f64dad282 | |||
| 821adc3041 | |||
| e2b177c508 | |||
| e837124f4b | |||
| 3fdc3cfbbf | |||
| e9809de651 | |||
| 61f6479ea9 |
@@ -1,3 +1,13 @@
|
||||
## 1.9.3
|
||||
|
||||
### Bug Fixes:
|
||||
* fix get_crop_region_v2 ([#15594](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/15594))
|
||||
|
||||
## 1.9.2
|
||||
|
||||
### Extensions and API:
|
||||
* restore 1.8.0-style naming of scripts
|
||||
|
||||
## 1.9.1
|
||||
|
||||
### Minor:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from modules import scripts
|
||||
from modules.shared import opts
|
||||
|
||||
xyz_grid = [x for x in scripts.scripts_data if x.script_class.__module__ == "scripts.xyz_grid"][0].module
|
||||
xyz_grid = [x for x in scripts.scripts_data if x.script_class.__module__ == "xyz_grid.py"][0].module
|
||||
|
||||
def int_applier(value_name:str, min_range:int = -1, max_range:int = -1):
|
||||
"""
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ def get_crop_region_v2(mask, pad=0):
|
||||
mask = mask if isinstance(mask, Image.Image) else Image.fromarray(mask)
|
||||
if box := mask.getbbox():
|
||||
x1, y1, x2, y2 = box
|
||||
return max(x1 - pad, 0), max(y1 - pad, 0), min(x2 + pad, mask.size[0]), min(y2 + pad, mask.size[1]) if pad else box
|
||||
return (max(x1 - pad, 0), max(y1 - pad, 0), min(x2 + pad, mask.size[0]), min(y2 + pad, mask.size[1])) if pad else box
|
||||
|
||||
|
||||
def get_crop_region(mask, pad=0):
|
||||
|
||||
@@ -2,7 +2,7 @@ import os
|
||||
|
||||
from PIL import Image
|
||||
|
||||
from modules import shared, images, devices, scripts, scripts_postprocessing, ui_common, infotext_utils
|
||||
from modules import shared, images, devices, scripts, scripts_postprocessing, ui_common, infotext_utils, util
|
||||
from modules.shared import opts
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ def run_postprocessing(extras_mode, image, image_folder, input_dir, output_dir,
|
||||
for filename in image_list:
|
||||
yield filename, filename
|
||||
else:
|
||||
if isinstance(image, str):
|
||||
image = util.decode_base64_to_image(image)
|
||||
assert image, 'image not selected'
|
||||
yield image, None
|
||||
|
||||
@@ -62,11 +64,13 @@ def run_postprocessing(extras_mode, image, image_folder, input_dir, output_dir,
|
||||
else:
|
||||
image_data = image_placeholder
|
||||
|
||||
image_data = image_data if image_data.mode in ("RGBA", "RGB") else image_data.convert("RGB")
|
||||
|
||||
parameters, existing_pnginfo = images.read_info_from_image(image_data)
|
||||
if parameters:
|
||||
existing_pnginfo["parameters"] = parameters
|
||||
|
||||
initial_pp = scripts_postprocessing.PostprocessedImage(image_data if image_data.mode in ("RGBA", "RGB") else image_data.convert("RGB"))
|
||||
initial_pp = scripts_postprocessing.PostprocessedImage(image_data)
|
||||
|
||||
scripts.scripts_postproc.run(initial_pp, args)
|
||||
|
||||
|
||||
@@ -8,9 +8,7 @@ loaded_scripts = {}
|
||||
|
||||
|
||||
def load_module(path):
|
||||
module_name, _ = os.path.splitext(os.path.basename(path))
|
||||
full_module_name = "scripts." + module_name
|
||||
module_spec = importlib.util.spec_from_file_location(full_module_name, path)
|
||||
module_spec = importlib.util.spec_from_file_location(os.path.basename(path), path)
|
||||
module = importlib.util.module_from_spec(module_spec)
|
||||
module_spec.loader.exec_module(module)
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ def create_ui():
|
||||
output_panel.html_log,
|
||||
],
|
||||
show_progress=False,
|
||||
preprocess=False,
|
||||
)
|
||||
|
||||
parameters_copypaste.add_paste_fields("extras", extras_image, None)
|
||||
|
||||
@@ -211,3 +211,13 @@ Requested path was: {path}
|
||||
subprocess.Popen(["wsl-open", path])
|
||||
else:
|
||||
subprocess.Popen(["xdg-open", path])
|
||||
|
||||
|
||||
def decode_base64_to_image(base64_str: str):
|
||||
from modules import images
|
||||
from io import BytesIO
|
||||
import base64
|
||||
if base64_str.startswith("data:image/"):
|
||||
base64_str = base64_str.partition(';')[2].partition(',')[2]
|
||||
image = images.read(BytesIO(base64.b64decode(base64_str)))
|
||||
return image
|
||||
|
||||
Reference in New Issue
Block a user