mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-11 06:40:48 +08:00
Some checks failed
Python Linting / Run Pylint (push) Waiting to run
Python Linting / Run Ruff (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Waiting to run
Execution Tests / test (macos-latest) (push) Waiting to run
Execution Tests / test (ubuntu-latest) (push) Waiting to run
Execution Tests / test (windows-latest) (push) Waiting to run
Test server launches without errors / test (push) Waiting to run
Unit Tests / test (macos-latest) (push) Waiting to run
Unit Tests / test (ubuntu-latest) (push) Waiting to run
Unit Tests / test (windows-2022) (push) Waiting to run
Build package / Build Test (3.10) (push) Has been cancelled
Build package / Build Test (3.11) (push) Has been cancelled
Build package / Build Test (3.12) (push) Has been cancelled
Build package / Build Test (3.13) (push) Has been cancelled
Build package / Build Test (3.14) (push) Has been cancelled
54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
import nodes
|
|
|
|
from typing_extensions import override
|
|
from comfy_api.latest import IO, ComfyExtension
|
|
|
|
|
|
class ImageCompare(IO.ComfyNode):
|
|
"""Compares two images with a slider interface."""
|
|
|
|
@classmethod
|
|
def define_schema(cls):
|
|
return IO.Schema(
|
|
node_id="ImageCompare",
|
|
display_name="Image Compare",
|
|
description="Compares two images side by side with a slider.",
|
|
category="image",
|
|
is_experimental=True,
|
|
is_output_node=True,
|
|
inputs=[
|
|
IO.Image.Input("image_a", optional=True),
|
|
IO.Image.Input("image_b", optional=True),
|
|
IO.ImageCompare.Input("compare_view"),
|
|
],
|
|
outputs=[],
|
|
)
|
|
|
|
@classmethod
|
|
def execute(cls, image_a=None, image_b=None, compare_view=None) -> IO.NodeOutput:
|
|
result = {"a_images": [], "b_images": []}
|
|
|
|
preview_node = nodes.PreviewImage()
|
|
|
|
if image_a is not None and len(image_a) > 0:
|
|
saved = preview_node.save_images(image_a, "comfy.compare.a")
|
|
result["a_images"] = saved["ui"]["images"]
|
|
|
|
if image_b is not None and len(image_b) > 0:
|
|
saved = preview_node.save_images(image_b, "comfy.compare.b")
|
|
result["b_images"] = saved["ui"]["images"]
|
|
|
|
return IO.NodeOutput(ui=result)
|
|
|
|
|
|
class ImageCompareExtension(ComfyExtension):
|
|
@override
|
|
async def get_node_list(self) -> list[type[IO.ComfyNode]]:
|
|
return [
|
|
ImageCompare,
|
|
]
|
|
|
|
|
|
async def comfy_entrypoint() -> ImageCompareExtension:
|
|
return ImageCompareExtension()
|