composite optable → rgbaimport fullseye as fs; fs.ledger.layer_stack(layers) (実装を直接呼ぶなら import gfx2d; gfx2d.layer_stack(layers)、台帳から引くなら opsgfx2d.get("layer_stack"))Composite a z-ordered list of rgba layers, bottom first.
Each layer is a dict:
{"image": rgba, "mode": str = "normal", "opacity": float = 1.0}
and the W3C rule for a blend mode against a partially transparent backdrop
is used — the blend function is weighted by the backdrop’s own alpha,
Cs' = (1 - a_b) Cs + a_b B(Cb, Cs) — so a layer over empty space keeps
its own colour whatever the mode. The result is straight-alpha rgba.
All layers must share one shape; see :func:alpha_composite on why.
Raises ValueError: empty list, more than :data:MAX_LAYERS, a non-dict
entry, an unknown key, mismatched shapes.
py -3.11 examples/gfx2d_scene.pyrgba を入力に取れる)premultiply · alpha_composite · sprite_blit · sprite_transform · sprite_sheet_slice · nine_slice
composite)premultiply · unpremultiply · alpha_composite · alpha_composite_premul · blend_mode
Provenance: gfx2d.py — GFX2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.