diff --git a/README.md b/README.md index 2c0e6a2..19711f5 100644 --- a/README.md +++ b/README.md @@ -195,6 +195,16 @@ This node is used to show the resolution of an image. ![Show resolution](./docs/image-resolution.png) +>
+> Parameters +> +> - Input: +> - image: Any kind of image link +> - Output: +> - Width: The width of the image +> - Height: The height of the image +>
+ ## Pipe @@ -369,6 +379,8 @@ You have predefined switches (string, latent, image, conditioning) but you can u ``` cd ComfyUI/custom_nodes git clone https://github.com/crystian/ComfyUI-Crystools.git + cd ComfyUI-Crystools + pip install -r requirements.txt ``` 3. Start up ComfyUI. diff --git a/__init__.py b/__init__.py index 0eb597c..caf0f56 100644 --- a/__init__.py +++ b/__init__.py @@ -11,7 +11,7 @@ from .nodes.primitive import CBoolean, CText, CTextML, CInteger, CFloat from .nodes.switch import CSwitchBooleanAny, CSwitchBooleanLatent, CSwitchBooleanConditioning, CSwitchBooleanImage, \ CSwitchBooleanString from .nodes.debugger import CConsoleAny, CConsoleAnyToJson -from .nodes.image import CImagePreviewFromImage, CImageLoadWithMetadata, CImageShowResolution, CImagePreviewFromMetadata +from .nodes.image import CImagePreviewFromImage, CImageLoadWithMetadata, CImageGetResolution, CImagePreviewFromMetadata from .nodes.list import CListAny, CListString from .nodes.pipe import CPipeToAny, CPipeFromAny from .nodes.utils import CUtilsCompareJsons, CUtilsStatSystem @@ -40,7 +40,7 @@ NODE_CLASS_MAPPINGS = { CLASSES.CPIPE_FROM_ANY_NAME.value: CPipeFromAny, CLASSES.CIMAGE_LOAD_METADATA_NAME.value: CImageLoadWithMetadata, - CLASSES.CIMAGE_SHOW_RESOLUTION_NAME.value: CImageShowResolution, + CLASSES.CIMAGE_GET_RESOLUTION_NAME.value: CImageGetResolution, CLASSES.CIMAGE_PREVIEW_IMAGE_NAME.value: CImagePreviewFromImage, CLASSES.CIMAGE_PREVIEW_METADATA_NAME.value: CImagePreviewFromMetadata, @@ -73,7 +73,7 @@ NODE_DISPLAY_NAME_MAPPINGS = { CLASSES.CPIPE_FROM_ANY_NAME.value: CLASSES.CPIPE_FROM_ANY_DESC.value, CLASSES.CIMAGE_LOAD_METADATA_NAME.value: CLASSES.CIMAGE_LOAD_METADATA_DESC.value, - CLASSES.CIMAGE_SHOW_RESOLUTION_NAME.value: CLASSES.CIMAGE_SHOW_RESOLUTION_DESC.value, + CLASSES.CIMAGE_GET_RESOLUTION_NAME.value: CLASSES.CIMAGE_GET_RESOLUTION_DESC.value, CLASSES.CIMAGE_PREVIEW_IMAGE_NAME.value: CLASSES.CIMAGE_PREVIEW_IMAGE_DESC.value, CLASSES.CIMAGE_PREVIEW_METADATA_NAME.value: CLASSES.CIMAGE_PREVIEW_METADATA_DESC.value, diff --git a/docs/image-resolution.png b/docs/image-resolution.png index fbc0f92..537d12a 100644 Binary files a/docs/image-resolution.png and b/docs/image-resolution.png differ diff --git a/nodes/_names.py b/nodes/_names.py index e6d2c97..e072a0f 100644 --- a/nodes/_names.py +++ b/nodes/_names.py @@ -46,8 +46,8 @@ class CLASSES(Enum): CIMAGE_LOAD_METADATA_NAME = "Load image with metadata [Crystools]" CIMAGE_LOAD_METADATA_DESC = "Load image with metadata [Crystools]" - CIMAGE_SHOW_RESOLUTION_NAME = "Show resolution [Crystools]" - CIMAGE_SHOW_RESOLUTION_DESC = "Show resolution [Crystools]" + CIMAGE_GET_RESOLUTION_NAME = "Get resolution [Crystools]" + CIMAGE_GET_RESOLUTION_DESC = "Get resolution [Crystools]" CIMAGE_PREVIEW_IMAGE_NAME = "Preview from image [Crystools]" CIMAGE_PREVIEW_IMAGE_DESC = "Preview from image [Crystools]" CIMAGE_PREVIEW_METADATA_NAME = "Preview from metadata [Crystools]" diff --git a/nodes/image.py b/nodes/image.py index 73ccec1..44877f9 100644 --- a/nodes/image.py +++ b/nodes/image.py @@ -190,7 +190,7 @@ class CImagePreviewFromMetadata(PreviewImage): return images -class CImageShowResolution: +class CImageGetResolution: def __init__(self): pass @@ -207,7 +207,8 @@ class CImageShowResolution: } CATEGORY = CATEGORY.MAIN.value + CATEGORY.IMAGE.value - RETURN_TYPES = () + RETURN_TYPES = ("INT", "INT",) + RETURN_NAMES = ("width", "height",) OUTPUT_NODE = True FUNCTION = "execute" @@ -217,7 +218,7 @@ class CImageShowResolution: text = [f"{res['x']}x{res['y']}"] setWidgetValues(text, unique_id, extra_pnginfo) logger.info(f"Resolution: {text}") - return {"ui": {"text": text}} + return {"ui": {"text": text}, "result": (res["x"], res["y"])} # subfolders based on: https://github.com/catscandrive/comfyui-imagesubfolders diff --git a/web/js/extensions.js b/web/js/extensions.js index c7599f1..edba9dd 100644 --- a/web/js/extensions.js +++ b/web/js/extensions.js @@ -2,7 +2,7 @@ import { app } from '../../../scripts/app.js'; import { displayContext } from './common.js'; let crystoolsExtensions = { - 'Show resolution [Crystools]': 'Crystools.Image.ShowResolution', + 'Get resolution [Crystools]': 'Crystools.Image.GetResolution', 'Preview from image [Crystools]': 'Crystools.Image.PreviewFromImage', 'Preview from metadata [Crystools]': 'Crystools.Image.PreviewFromMetadata', 'Metadata comparator [Crystools]': 'Crystools.Metadata.MetadataComparator',