Adding image numbers on grids
New grid option in settings enables adding of image numbers on grids. This makes identifying the images, especially in larger batches, much easier. Revert "Adding image numbers on grids" This reverts commit 3530c283b4b1d3a3cab40efbffe4cf2697938b6f. Implements Callback for image grid loop Necessary to make "Add image's number to its picture in the grid" extension possible.
This commit is contained in:
parent
4af3ca5393
commit
5f12b23b8b
|
@ -43,6 +43,7 @@ def image_grid(imgs, batch_size=1, rows=None):
|
|||
grid = Image.new('RGB', size=(cols * w, rows * h), color='black')
|
||||
|
||||
for i, img in enumerate(imgs):
|
||||
script_callbacks.image_grid_loop_callback(img)
|
||||
grid.paste(img, box=(i % cols * w, i // cols * h))
|
||||
|
||||
return grid
|
||||
|
|
|
@ -51,6 +51,11 @@ class UiTrainTabParams:
|
|||
self.txt2img_preview_params = txt2img_preview_params
|
||||
|
||||
|
||||
class ImageGridLoopParams:
|
||||
def __init__(self, img):
|
||||
self.img = img
|
||||
|
||||
|
||||
ScriptCallback = namedtuple("ScriptCallback", ["script", "callback"])
|
||||
callback_map = dict(
|
||||
callbacks_app_started=[],
|
||||
|
@ -63,6 +68,7 @@ callback_map = dict(
|
|||
callbacks_cfg_denoiser=[],
|
||||
callbacks_before_component=[],
|
||||
callbacks_after_component=[],
|
||||
callbacks_image_grid_loop=[],
|
||||
)
|
||||
|
||||
|
||||
|
@ -154,6 +160,12 @@ def after_component_callback(component, **kwargs):
|
|||
except Exception:
|
||||
report_exception(c, 'after_component_callback')
|
||||
|
||||
def image_grid_loop_callback(component, **kwargs):
|
||||
for c in callback_map['callbacks_image_grid_loop']:
|
||||
try:
|
||||
c.callback(component, **kwargs)
|
||||
except Exception:
|
||||
report_exception(c, 'image_grid_loop')
|
||||
|
||||
def add_callback(callbacks, fun):
|
||||
stack = [x for x in inspect.stack() if x.filename != __file__]
|
||||
|
@ -255,3 +267,11 @@ def on_before_component(callback):
|
|||
def on_after_component(callback):
|
||||
"""register a function to be called after a component is created. See on_before_component for more."""
|
||||
add_callback(callback_map['callbacks_after_component'], callback)
|
||||
|
||||
|
||||
def on_image_grid_loop(callback):
|
||||
"""register a function to be called inside the image grid loop.
|
||||
The callback is called with one argument:
|
||||
- params: ImageGridLoopParams - parameters to be used inside the image grid loop.
|
||||
"""
|
||||
add_callback(callback_map['callbacks_image_grid_loop'], callback)
|
||||
|
|
Loading…
Reference in New Issue