画像のリサイズとクロップ
画像のサイズを大きくしたり正方形にクロップ(切り抜き)したり…という単純なタスクですが、画像生成においてはとても重要な作業です。
- モデルの適正解像度: モデルには「最も性能を発揮できる解像度」があります。
- VRAMの節約: うっかり4Kの画像を読み込んで処理すると、一瞬で「Out of memory」になります。
- 素材の統一: 画像合成などで、複数の素材サイズを揃える必要があります。
出番の多い作業なので、それぞれのノードの違いをしっかり理解しましょう。
画像情報の取得
Get Image Size ノード
画像の幅(width)と高さ(height)、バッチサイズ(枚数)を数値として出力します。

リサイズ
Resize Image/Mask ノード
いくつものリサイズ方法を切り替えて使えるノードです。
基本的には、これ一つで必要な処理をだいたい網羅できます。(ちなみにマスクもリサイズできます)

scale to multiple
縦横を N の倍数 になるようにリサイズします。
詳しくは 8の倍数の解像度しか生成できないのはなぜ? で解説しますが、拡散モデルは VAEの都合で、特定の倍数になっていない解像度をそのまま扱えません。
基本的にはどこかのノードで自動調整されることも多いのですが、指定解像度でないとエラーが出るケースや、入力と出力でピクセルを「完全一致」させたいケースで使うことがあります。
ImageScaleToMaxDimension ノード
画像の長辺が設定したサイズになるように、アスペクト比を保ったままリサイズします。
(例:縦長の画像でも横長の画像でも、長い方が1024pxになるようにする)

パディング
パディングとは、画像の周囲に余白(黒帯など)を追加して、サイズを調整する処理のことです。
ノードによっては、この余白部分をマスクとして出力できるため、Outpaintingを行う際の下準備として使われます。
ResizeAndPadImage ノード
指定した解像度に合わせてリサイズし、足りない部分をパディングで埋めます。

このノードはパディング部分をマスクとして出力できないため、ほとんど使う場面はありません。
Pad Image for Outpainting ノード
画像の上下左右に、指定したピクセル数だけ余白を追加します。

余白部分がマスクとして出力されます。
- feathering: 余白と画像の境界をぼかします。マスクにしか影響しません。
クロップその他の編集操作
ImageCrop ノード
x, y座標と幅・高さを指定して、画像の一部分を矩形で切り抜きます。

ImageRotate ノード
画像を90度 / 180度 / 270度 回転させます。

ImageFlip ノード
画像を水平 / 垂直方向に反転させます。

Resize Image v2 ノード
これは kijai/ComfyUI-KJNodes に含まれるノードです。
上記のリサイズ・クロップ・パディングが一つにまとめられたようなノードです。
| パラメータ名 | 説明 |
|---|---|
| width / height | 目標とする幅と高さ(0なら変更なし) |
| upscale_method | リサイズ時の補間方法(nearest, bilinearなど) |
| keep_proportion | stretch, pad, crop, etc. |
| pad_color | パディング時の色(RGB) |
| crop_position | center, top, bottom, left, right |
| divisible_by | この値の倍数の解像度にリサイズされます(例:32, 64) |
以前は、縦横を N の倍数 になるようにリサイズする用途で多用していましたが、現在はコアノードで対応できるため、あまり使用していません。
少し応用
これまでのノードを組み合わせて、少し複雑な画像加工をしてみましょう。
画像を半分にクロップ

- 画像のサイズを取得
Simple mathノードで幅の半分の長さを計算ImageCropノードに計算した幅を入力し、半分にクロップ





