Resolution Selector 是内置节点,根据选定的宽高比和目标总分辨率(以百万像素为单位)计算像素宽度和高度,用于为其他节点生成一致的尺寸。
输入参数
| 参数 | 描述 | 数据类型 | 必需 | 范围 |
|---|---|---|---|---|
宽高比 Aspect Ratio | 输出尺寸的宽高比(默认:"1:1 (Square)")。 | COMBO | 是 | "1:1 (Square)" "2:3 (Portrait Photo)" "3:2 (Photo)" "3:4 (Portrait Standard)" "4:3 (Standard)" "9:16 (Portrait Widescreen)" "16:9 (Widescreen)" "21:9 (Ultrawide)" |
百万像素 Megapixels / MP** | 目标总百万像素数。对于正方形,1.0 MP ≈ 1024x1024(默认:1.0)。 | FLOAT | 是 | 0.1 - 16.0 (步长: 0.1) |
预览 | 计算出的输出分辨率的实时预览。此只读控件会自动更新,不接受用户输入。 | RESOLUTION_PREVIEW | 否 | N/A |
倍数 Multiple | 将所选分辨率设置为结果的最近倍数(默认:8)。 | INT | 否 | 8 - 128 (步长: 4) |
理解输入参数
| 参数 | 决定什么 | 类比 |
|---|---|---|
| 宽高比 Aspect Ratio | 图片的形状 | 是方的、横的还是竖的 |
| 百万像素 Megapixels / MP | 图片的面积/规模 | 这张图总体有多大 |
| 倍数 Multiple | 宽高最终必须能被某个数整除 | 对齐模型要求,如 8、16、32、64 |
该节点的逻辑是:先确定形状(宽高比),再确定面积(MP) → 两者共同求出宽和高。
宽高比
| 宽高比 | 英文名 | 中文 | 用途 | 备注 | 常用 |
|---|---|---|---|---|---|
| 1:1 | Square | 正方形 | 头像、Instagram 方图、图标 | ⭐️⭐️⭐️⭐️⭐️ | |
| 2:3 | Portrait Photo | 竖版照片 | 传统胶片/单反竖拍、海报、小红书竖图 | ||
| 3:2 | Photo | 横版照片 | 单反/胶片的原生比例(35mm 底片) | ||
| 3:4 | Portrait Standard | 竖版标准 | 手机竖拍、小红书主流比例 | 常用于封面和海报 | ⭐️⭐️⭐️⭐️⭐️ |
| 4:3 | Standard | 横版标准 | 老电视/iPad/手机横拍 | ⭐️⭐️⭐️⭐️⭐️ | |
| 9:16 | Portrait Widescreen | 竖版宽屏 | 抖音、短视频、竖屏短剧、手机全屏壁纸 | 竖屏短剧主力 | ⭐️⭐️⭐️⭐️⭐️ |
| 16:9 | Widescreen | 横版宽屏 | 电脑屏幕、B站/YouTube、电视 | ⭐️⭐️⭐️⭐️⭐️ | |
| 21:9 | Ultrawide | 超宽屏 | 电影感画幅、带鱼屏 |
1MP 是什么意思
-
MP是Megapixel百万像素,即:1 MP = 1,000,000 (百万) 个像素; -
最简单的计算是:
1000 * 1000 = 1,000,000像素,即:宽高比 1:1 ; -
ComfyUI 里习惯用 1024×1024 = 1,048,576 ≈ 1 MP 作为基准,因为 SDXL 等模型就是按这个面积训练的;
-
但是不代表 1 MP 一定是宽度 1000 px,高度 1000 px,还有其他的形状;
以 16:9 + 1 MP 为例:
理论尺寸:
数学精确计算是:1333.3333 × 750,但图片不可能有 1333.3333 个像素宽,需要取整数,1333 × 750,所以:
而真正的:
4:3 也是同样的道理
所以理论尺寸:
但像素必须是整数,于是可以近似成:1155 × 866
而:
-
宽和高最终必须是整数像素;
-
「严格满足宽高比」和「严格等于 1,000,000 像素」通常无法同时做到;
| 序号 | 比例 | W / H | 理论尺寸(1 MP) | 取整(四舍五入) | 理论像素 | 总像素 | 形状 |
|---|---|---|---|---|---|---|---|
| 1 | 9:16 | 0.5625 | 750 × 1333.3333 | 750 × 1333 | = 999,750 | ≈ 1,000,000 | 很高、很竖 |
| 2 | 2:3 | 0.667 | 816.4966 × 1224.7449 | 816 × 1226 | = 1,000,416 | ≈ 1,000,000 | 较竖 |
| 3 | 3:4 | 0.75 | 866.0254 × 1154.7005 | 866 × 1155 | = 1,000,230 | ≈ 1,000,000 | 竖 |
| 4 | 1:1 | 1.0 | 1000 × 100 | 1000 × 1000 | = 1,000,000 | = 1,000,000 | 正方形 |
| 5 | 4:3 | 1.333 | 1154.7005 × 866.0254 | 1155 × 866 | = 1,000,230 | ≈ 1,000,000 | 横 |
| 6 | 3:2 | 1.5 | 1224.7449 × 816.4966 | 1333 × 750 | = 999,750 | ≈ 1,000,000 | 较宽 |
| 7 | 16:9 | 1.778 | 1333.3333 × 750 | 1333 × 750 | = 999,75021*222 | ≈ 1,000,000 | 宽 |
| 8 | 21:9 | 2.333 | 1527.5252 × 654.6537 | 1528 × 655 | = 1,000,840 | ≈ 1,000,000 | 很宽 |
MP 和宽高比在 Resolution Selector 中都是目标约束;最终 Width / Height 是满足整数及 Multiple 对齐后的近似结果,因此最终宽高比和总像素数都可能存在轻微误差。
示例
以 0.4 MP + 9:16 为例,输入参数的理解是:
-
要一个 9:16 的竖屏画面;
-
总共有大约 40 万个像素(0.4 MP);
该节点会计算两个数字:宽 × 高 ≈ 400,000,最终大约是:474 × 843。
Multiple 倍数
假设 Multipe = 32,那么最终的输出要求:
其中,m、n 必须是整数,最终 Width 和 Height 可以被 32 整除。
最简单的计算方式是:除以 32 → 取整 → 乘回 32」
得到候选最终尺寸:
上面的比例不是严格的 16:9,因此:简单地把 W、H 分别四舍五入到 32 的倍数,不一定能最好地保持宽高比。
实际应该是:节点可以从这些候选值中寻找一个结果,在几个目标之间做权衡。
该参数主要是满足模型内部空间结构的尺寸约束。
输出参数
| 输出名称 | 描述 | 数据类型 |
|---|---|---|
width | 计算出的宽度(以像素为单位)乘以所选倍数。 | INT |
height | 计算出的高度(以像素为单位)乘以所选倍数。 | INT |