sprite op• Data kinds: rgba → rgba
• Call: import gfx2d; gfx2d.nine_slice(sprite, left, right, top, bottom, out_height, out_width) (or opsgfx2d.get("nine_slice"))
Stretch a frame to a new size without deforming its corners.
The four corners are copied bit for bit, the four edges are stretched
along one axis only, and the centre is stretched along both. This is the
standard way a UI panel grows: the border keeps its thickness at any size.
Stretching is nearest-neighbour on the interior spans, so an output the same
size as the input is the exact identity — no resampling blur creeps in when
a panel happens not to need stretching.
Raises ValueError: borders that meet or cross (`left + right >= width`),
an output smaller than the borders it must preserve.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• gfx2d_scene — py -3.11 examples/gfx2d_scene.py
rgba as input)premultiply · alpha_composite · sprite_blit · sprite_transform · sprite_sheet_slice
sprite)sprite_synthesize · sprite_blit · sprite_transform · sprite_sheet_slice
*Provenance: gfx2d.py — GFX2D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.