Frame Processor
Overview
The Frame Processor (frame
) draws a border (“frame”) around an image, or creates a standalone framed canvas when no source is provided.
- If
composite=true
, the frame is overlaid onto an existing source
image.
- If
composite=false
, you may supply a source
for its dimensions or specify width
/height
explicitly.
Example Usage
- processor:
processor: "frame"
inputs:
source: "mem/subject.png"
params:
composite: true
size: 10
color: "#FFFFFF"
padding: 5
inner_radius: 0
outer_radius: 0
mode: "fit" # or "expand" or "overlay"
outputs:
target: "mem/framed_subject.png"
assigns:
content_top: "frame_top"
content_left: "frame_left"
content_bottom: "frame_bottom"
content_right: "frame_right"
content_width: "frame_content_width"
content_height: "frame_content_height"
Inputs
Key |
Required |
Description |
source |
Yes if composite=true , or to supply dims |
Path of image to frame (optional if standalone canvas). |
Params
Key |
Type |
Required |
Default |
Description |
composite |
boolean |
|
true |
If true , overlay frame on source ; if false , generate standalone canvas (can use source size). |
width |
int |
Yes if no source |
— |
Canvas width (standalone mode only). |
height |
int |
Yes if no source |
— |
Canvas height (standalone mode only). |
background |
str |
|
"transparent" |
Fill color for new canvas; also fills outer rounded-corner areas when outer_radius > 0 . Ignored when compositing. |
size |
int |
Yes |
— |
Frame thickness in pixels. |
color |
str |
Yes |
— |
Frame color (#RRGGBB , rgba() , or named color). |
padding |
int |
|
0 |
Gap between image/canvas edge and inner edge of frame. |
inner_radius |
int |
|
0 |
Corner radius (px) on inner edge; clamped to [0 .. canvas_short_side/2] and forced ≤ outer_radius . |
outer_radius |
int |
|
0 |
Corner radius (px) on outer edge; clamped to [0 .. canvas_short_side/2] ; outer corners are filled with background . |
mode |
enum["fit","expand","overlay"] |
|
"overlay" |
"fit" : scale source to fit inner frame bounds;
"expand" : enlarge canvas for source+frame;
"overlay" : draw frame without resizing. |
Outputs
Key |
Required |
Description |
target |
Yes |
Path where the framed image is written. |
Assigns
If an assigns:
block is present, the processor will populate:
Variable |
Description |
content_top |
Y-coordinate of the inner rectangle’s top edge (px from canvas origin). |
content_right |
X-coordinate of the inner rectangle’s right edge. |
content_bottom |
Y-coordinate of the inner rectangle’s bottom edge. |
content_left |
X-coordinate of the inner rectangle’s left edge. |
content_width |
Width of the interior area (content_right - content_left ). |
content_height |
Height of the interior area (content_bottom - content_top ). |