Skip to main content

Module alpha_blend

Module alpha_blend 

Source
Expand description

アルファ合成(Simple alpha compositing / source-over)。

仕様・典拠・不変条件は spec/alpha_compositing.md を参照。 典拠: CSS Color Module Level 3 (https://www.w3.org/TR/css-color-3/#alphavaluedt) および SVG 1.1 §14.2 Simple alpha compositing。

§なぜ必要か

実サイトの .hero-overlay { background: rgba(0,0,0,.2) }0x33000000 として正しくパースされていたのに、描画側がアルファを無視して 不透明な黒で塗っていた。結果ヒーロー中央に黒帯が出ていた。

グローバル状態にもハードウェアにも依存しない純粋ロジックのみで構成する。

Enums§

BlendError
合成の引数が不正だった場合のエラー。

Functions§

alpha_f32_to_u8
0.0〜1.0 のアルファを 8bit へ変換する。
blend_argb_over
ARGB8888 の 1 ピクセルを背景へ source-over 合成する。
blend_channel
1 チャンネル分の source-over 合成。
needs_blend
この色が合成を要するか(=完全不透明でないか)。