composite oprgb × rgb → rgbimport fullseye as fs; fs.ledger.blend_mode(base, top, mode='normal', opacity=1.0) (実装を直接呼ぶなら import gfx2d; gfx2d.blend_mode(base, top, mode='normal', opacity=1.0)、台帳から引くなら opsgfx2d.get("blend_mode"))Blend two opaque rgb images with a named mode (W3C Level 1).
With an opaque backdrop the specification reduces to a lerp,
Co = (1 - opacity)*Cb + opacity*B(Cb, Cs), so opacity=0 returns the
backdrop exactly and mode="normal", opacity=1 returns the source
exactly. Both identities are checked bit-for-bit in the test suite.
Named blend_mode and not blend because :func:imagemorph.blend
already owns that name for a two-image cross-fade; two functions called
blend with different signatures is exactly the kind of collision this
library’s naming test exists to prevent.
Raises ValueError: unknown mode, mismatched shapes, opacity outside
[0, 1], values outside [0, 1].
py -3.11 examples/gfx2d_scene.pyrgb を入力に取れる)srgb_to_linear · linear_to_srgb · light_mask · normal_map_decode · bloom · vignette · chromatic_aberration · film_grain
composite)premultiply · unpremultiply · alpha_composite · alpha_composite_premul · layer_stack
Provenance: gfx2d.py — GFX2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.