Shape tools
Geometric strokes and fills: line, rectangle, ellipse, paint bucket, and gradient. Each gets a live preview while you drag — release to commit. They paint with the primary colour by default; the gradient also uses secondary.
Line — L
Click + drag = line from press point to release point (Bresenham). The line is 1 px wide and ignores brush size/shape (use Pencil with Shift+click if you want brush-size lines).
Hold Shift while drawing to constrain to multiples of 45° (horizontal, vertical, diagonal).
Rectangle — R
Drag from one corner to the opposite. Toggle Tools panel → Shape options → Filled to switch between outline-only and solid fill.
Hold Shift to constrain to a square.
Ellipse — O
Drag from one corner of the bounding rect to the opposite. Toggle Filled in the Shape options. Hold Shift to constrain to a circle.
The ellipse rasteriser uses a midpoint algorithm tuned for low-resolution sprites — small ellipses (≤ 8 px) snap to the nearest aesthetically-correct pixel pattern.
Fill (paint bucket) — G
Click any pixel to flood-fill the connected region matching that exact colour with the primary colour. The fill respects 4-connectivity (up/down/left/right, no diagonals).
Tips:
- Useful for re-colouring a flat region in one click.
- Use Color Replace (
K) instead if you want to replace every pixel of that colour, not just the connected blob. - In indexed mode, the fill always uses a palette colour — you can't accidentally introduce a new shade.
Gradient
In the Tools panel, the gradient tool is selected from the tool grid (no hotkey by default). Drag to define start (A) and end (B) of the gradient — the line you drag is the gradient direction.
Picks colours from primary (A) and secondary (B) — swap with X if you want to invert.
Patterns
- Solid — linear RGB interpolation. Generates new in-between colours.
- Bayer 2×2 / 4×4 / 8×8 — dithered. Only the two endpoints are painted; intermediate values use an ordered Bayer pattern so the apparent average matches the linear blend. This is the right choice in pixel art where you want to preserve a constrained palette.
Choose the pattern in Tools panel → Gradient → Pattern while the tool is active.
Selection-aware
If a selection is active, the gradient is clipped to the selection mask — including non-rectangular shapes like lasso or magic-wand selections. Pixels outside the selection are untouched.
Tips
- Shapes can be cancelled mid-drag by pressing
Esc(the live preview disappears). - Each completed shape is one undo entry — useful for experimentation.
- The Filled toggle is a single shared setting for rectangle and ellipse.
Free Transform
For interactive rotate / scale of either a selection or the whole active layer, press Shift+T to enter Free Transform mode (on-canvas handles + optional numeric dialog). See Transforms → Free Rotate / Scale for the full reference.
Related
- Drawing tools — pencil, eraser
- Selection — for clipping fills/gradients to specific shapes
- Color Replace — replace every pixel of a colour, not just connected