RGB_Image_Zho
A solid color canvas in three clicks — the unglamorous workhorse of this pack
- color
- IMAGE
RGB_Image_Zho does one thing: it makes a solid-color image and hands it to you as an IMAGE tensor. No diffusion, no model, no nothing - pick a color, set a size, get a flat rectangle. It's the least exciting node in ZHO-ZHO-ZHO's ComfyUI-Text_Image-Composite pack and also one of the more useful ones, because a flat color canvas is exactly what the pack's composite nodes keep wanting.
Think about the workflow: you render text with Text_Image_Zho, or you want to show off a generated image on a colored background, or you need a placeholder while you wire up a layout. The composite nodes can take their canvas from an image you already have, but sometimes there isn't one yet - and that's where this node's container-feeding role comes in. Wire RGB_Image_Zho into the container input of ImageComposite_BG_Zho or ImageCompositeBy_BG_Zho and you've got a deterministic canvas of any size, in any color, with zero model involvement.
How it works
Under the hood it's three lines of PIL: Image.new("RGB", (width, height), color), converted to a float tensor in the usual 0–1 range that ComfyUI images use. The color input is a native COLOR widget, so you get a proper color picker in the node rather than typing hex codes. swap is a boolean that simply exchanges width and height - handy when you've dialed in a size and realize you need it rotated.
The inputs that matter
width,height- integers from 16 to 8160. Defaults to 512×512.color- the color picker. There's no alpha here; it's a fully opaque RGB fill.swap- boolean; flips width and height.
Output is a single IMAGE of that solid color.
Installing it
Part of the same pack, installed once:
cd ComfyUI/custom_nodes
git clone https://github.com/ZHO-ZHO-ZHO/ComfyUI-Text_Image-Composite
or ComfyUI Manager → search ComfyUI-Text_Image-Composite, then restart. No requirements.txt, no models, no keys. It shows up under Zho模块组/image.
Common issues
Honestly, there's not much to trip on here. The one thing to know: the output is opaque RGB, so you can't use it to build transparent canvases - if you need alpha, you're in the wrong node. And if you feed a huge size like 8160×8160, it's just a big flat tensor sitting in memory; keep it reasonable. For its purpose - a clean, deterministic color canvas to composite onto - it does exactly what it says, no surprises, which in a custom-node ecosystem is honestly refreshing.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51216–8160 | — |
| height | INT | 51216–8160 | — |
| swap | BOOLEAN | false | — |
| color | COLOR | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |