Skip to content

Transform

Node icon
Transform

Translates, rotates, scales, and skews an image with interpolation control and optional background compositing.

The Transform node's on-canvas manipulator: corner and edge handles scale, skew diamonds shear, and the center handle moves and rotates around the pivot.
A rotated photograph of a bee on a flower shown in the ArcBrush viewport with the Transform node's on-canvas manipulator active: a bounding box with corner and edge-midpoint scale handles, skew diamonds just outside each edge midpoint, and a center crosshair for moving and rotating around the pivot, all overlaid on the viewport's transparency checkerboard.

The Transform node moves, rotates, scales, and skews an image within its canvas. All four transformations happen in a single pass to minimize quality loss. Rotation and scaling pivot around the Pivot X/Y anchor (default center, 50/50). Set the pivot to any percentage of the foreground width and height to orbit, swing, or scale around a corner or edge. At identity rotation/scale the pivot drops out of the math, so changing it never moves the image, which lets you reposition the anchor before dialing in a transform. The on-canvas manipulator’s center handle and rotation ring follow the pivot.

Skew X and Skew Y shear the image up to 80 degrees either way: Skew X shifts X as Y changes, Skew Y shifts Y as X changes. Use them for italic-style slants, fake perspective, and isometric layouts. The on-canvas box, its corner handles, and Ctrl snapping all follow the true skewed shape, so dragging a corner still scales the way you expect at any skew.

Choose from Nearest (for pixel art), Bilinear (general use), or Lanczos (highest quality downscaling) interpolation. Enable Proportional to lock Scale X and Y together for uniform scaling.

The Transform overlay in the preview carries four kinds of handle:

HandleAction
Center crosshairMove the image. Double-click to reset Translate to zero.
CornerScale both axes. Hold Shift to keep proportions.
Edge midpointScale one axis only: top or bottom edge scales vertically, left or right edge scales horizontally.
Diamond, just outside each edge midpointSkew. Drag the top or bottom diamond to skew horizontally, the left or right one to skew vertically. Hold Shift to snap to 15° steps; double-click to reset that skew to zero.

Skew handles work at any rotation, scale, or pivot. A handle whose side the pivot has collapsed is hidden rather than left looking draggable.

An optional Background input pin lets you composite the transformed image over a background in a single node, eliminating the need for separate Pad + Transform + Composite chains. Use the Output Mode switch to choose between Composite (over background) or Transformed Only; in Composite mode, Blend Mode and Opacity controls govern how the transformed image mixes with the background.

Pins

ImagePixels
InputRequired
BackgroundImage
InputOptional
ImagePixels
Output

Pivot

Pivot X (%)Number
Default: 50.0 Range: 0.0–100.0

Horizontal pivot point for rotation/scaling (0 = left, 100 = right)

Pivot Y (%)Number
Default: 50.0 Range: 0.0–100.0

Vertical pivot point for rotation/scaling (0 = top, 100 = bottom)

Transform

Translate XNumber · px/%
Default: 0 Range: -8192–8192 px / -100–100%

Horizontal offset (positive = right)

Translate YNumber · px/%
Default: 0 Range: -8192–8192 px / -100–100%

Vertical offset (positive = down)

RotateNumber
Default: 0.0 Range: -360.0–360.0

Clockwise rotation in degrees around the pivot point

ProportionalToggle
Default: false

Lock Scale X and Y together for proportional scaling

Scale X (%)Number
Default: 100.00 Range: -1000.00–1000.00

Horizontal scale factor (negative = flip)

Scale Y (%)Number
Default: 100.00 Range: -1000.00–1000.00

Vertical scale factor (negative = flip)

Skew X (degrees)Number
Default: 0.0 Range: -80.0–80.0

Skew X shifts X as Y changes

Skew Y (degrees)Number
Default: 0.0 Range: -80.0–80.0

Skew Y shifts Y as X changes

FilterChoice
Default: Bilinear

Resampling filter used during warpAffine

  • NearestNo interpolation, so hard pixel edges are preserved. Best for pixel art.
  • BilinearSmooth blending between pixels, with good general-purpose quality.
  • LanczosHighest quality with sharp detail preservation, best for final output.
BackgroundColor (RGBA)
Default: rgba(0, 0, 0, 0)

Background fill color

Output

Output ModeChoice
Default: Composite Range: Transformed Only / Composite
When background input is connected
  • Composite: transformed FG over BG.
  • Transformed Only: just the transformed FG at background dimensions.
Blend ModeChoice
Default: Normal Range: Normal / Multiply / Screen / Overlay / Linear Dodge (Add) / Subtract / Difference / Hard Light / Soft Light / Darken / Lighten / Color Dodge / Color Burn / Exclusion / Hue / Saturation / Color / Luminosity
Composite mode only

Blend mode when compositing onto background

OpacityNumber
Default: 1.00 Range: 0.00–1.00
Composite mode only

Composite opacity (0 = invisible, 1 = fully opaque)

Notes
  • In Grid mode, pick from 9 standard positions on a visual 3×3 grid. In Custom mode, Pivot X and Pivot Y sliders appear to set exact coordinates in pixels or percent. Coordinates are zero-centered so (0, 0) is the image center.
  • Use Nearest interpolation when working with pixel art to preserve sharp edges.
  • Negative scale values flip the image. Set Scale X to -100% for a horizontal mirror with repositioning.
  • Percentage sliders show two decimal places for pixel-level precision on large images.
  • Set Pivot X/Y to a corner (0/0, 100/0, 0/100, 100/100) to orbit the foreground around an edge or corner instead of its center.
  • Connect a Background input to composite the transformed image over another image in one step, with no separate Composite node needed.
  • Enable Proportional to keep width and height scaling locked together.
  • A small Skew X (5–15°) plus a matching negative Skew Y reads as a shallow perspective tilt without leaving the single-pass transform.
  • Skew starts at 0 in every existing project, so opening an older graph produces exactly the transform it always did.