Extensions/ComfyUI-JetImageScale
ComfyUI Extension

ComfyUI-JetImageScale

A ComfyUI node that scales and crops images and masks to target aspect ratios with letterboxing, cropping, stretching, and high-quality resampling filters.

By JetterTW·Created 2 months ago·Updated 2 months ago· 1
JetterTW/ComfyUI-JetImageScale
Nodes1
On cloudLocal install
CategoryImage/Scale
Stars1
Updated2 months ago
Readme

ComfyUI-JetImageScale

A premium ComfyUI custom node that scales and crops images and masks to target aspect ratios with support for letterboxing (with custom background color padding), cropping, and stretching.

繁體中文版說明請見下方

Features

  • Aspect Ratio Presets: Choose from standard aspect ratios: original, 1:1, 3:2, 4:3, 16:9, 2:3, 3:4, 9:16, or input a custom ratio.
  • Custom Scaling Options: Use the proportional_width and proportional_height parameters to specify any custom aspect ratio.
  • Sizing Boundaries: Scale to longest, shortest, width, height, or select none to preserve original scale while adjusting layout.
  • Three Fitting Modes:
    • crop: Scales the image to completely cover the target dimensions and crops excess from the center, preserving content aspect ratio.
    • letterbox: Fits the entire image within target dimensions and pads the background with a customizable color, preserving content aspect ratio.
    • fill: Stretches/squeezes the image to match the target dimensions exactly.
  • Pillow Resampling Algorithms: Choose from high-quality resampling filters: lanczos, bicubic, hamming, bilinear, and nearest.
  • Mask Alignment: Supports resizing masks alongside images, ensuring exact alignment and padding.

Input Parameters

| Parameter | Type | Default | Options / Description | |---|---|---|---| | image | IMAGE | Required | Input image tensor [B, H, W, C] | | mask | MASK | Optional | Input mask tensor [B, H, W] | | aspect_ratio | Combo | original | original, custom, 1:1, 3:2, 4:3, 16:9, 2:3, 3:4, 9:16 | | proportional_width | INT | 1 | Proportional width multiplier for custom aspect ratio. | | proportional_height| INT | 1 | Proportional height multiplier for custom aspect ratio. | | fit | Combo | crop | crop, letterbox, fill | | method | Combo | lanczos | lanczos, bicubic, hamming, bilinear, nearest | | scale_to_side | Combo | longest | longest, shortest, width, height, none | | scale_to_length | INT | 1280 | Dimension length to scale the selected side to. | | background_color | STRING| #000000 | Hex color code for letterbox padding. |

Outputs

  • image (IMAGE): The scaled/cropped image tensor.
  • mask (MASK): The aligned scaled/cropped mask tensor.
  • original_size (TUPLE): The original dimensions (width, height).
  • width (INT): The new width.
  • height (INT): The new height.

Installation

Clone this repository into your ComfyUI custom nodes folder:

cd ComfyUI/custom_nodes
git clone https://github.com/JetterTW/ComfyUI-JetImageScale.git

ComfyUI-JetImageScale (繁體中文版)

這是一個優質的 ComfyUI 自訂節點,用於將影像與遮罩縮放、裁剪至目標寬高比。支援加黑邊(letterbox,以自訂背景顏色填滿)、裁剪(crop)以及直接拉伸填滿(fill)。

功能特點

  • 寬高比預設 (Aspect Ratio Presets):可選擇標準寬高比:original (原始)、1:13:24:316:92:33:49:16,或輸入 custom (自訂) 比例。
  • 自訂縮放選項 (Custom Scaling Options):使用 proportional_widthproportional_height 參數指定任意自訂寬高比。
  • 縮放基準邊長 (Sizing Boundaries):可縮放至 longest (最長邊)、shortest (最短邊)、width (寬度)、height (高度),或選擇 none (不縮放影像內容,僅調整畫布排版)。
  • 三種最適化模式 (Three Fitting Modes)
    • crop (裁剪):縮放影像以完全填滿目標尺寸,並從中央裁剪多餘部分,保留內容原有的寬高比。
    • letterbox (加黑邊/信箱模式):將完整影像放入目標尺寸內,並以自訂背景顏色填滿空白處,保留內容原有的寬高比。
    • fill (拉伸填滿):直接拉伸/壓縮影像以完全符合目標尺寸。
  • Pillow 重採樣演算法 (Pillow Resampling Algorithms):提供多種高品質重採樣濾鏡:lanczosbicubichammingbilinearnearest
  • 遮罩對齊 (Mask Alignment):同步縮放與裁剪遮罩,確保遮罩與影像完全對齊並填滿。

輸入參數

| 參數名稱 | 類型 | 預設值 | 選項 / 說明 | |---|---|---|---| | image | IMAGE | 必填 | 輸入影像張量 [B, H, W, C] | | mask | MASK | 選填 | 輸入遮罩張量 [B, H, W] | | aspect_ratio | Combo | original | original, custom, 1:1, 3:2, 4:3, 16:9, 2:3, 3:4, 9:16 | | proportional_width | INT | 1 | 自訂寬高比的寬度比例。 | | proportional_height| INT | 1 | 自訂寬高比的高度比例。 | | fit | Combo | crop | crop, letterbox, fill | | method | Combo | lanczos | lanczos, bicubic, hamming, bilinear, nearest | | scale_to_side | Combo | longest | longest, shortest, width, height, none | | scale_to_length | INT | 1280 | 指定邊長縮放至的像素大小。 | | background_color | STRING| #000000 | 信箱模式 (letterbox) 的背景填滿十六進位顏色代碼。 |

輸出

  • image (IMAGE):縮放/裁剪後的影像張量。
  • mask (MASK):對齊且縮放/裁剪後的遮罩張量。
  • original_size (TUPLE):原始尺寸 (寬度, 高度)
  • width (INT):新寬度。
  • height (INT):新高度。

安裝說明

將此儲存庫複製到您的 ComfyUI custom_nodes 資料夾中:

cd ComfyUI/custom_nodes
git clone https://github.com/JetterTW/ComfyUI-JetImageScale.git