Alfokanalo

**Alfokanalo** aŭ **α-Kanalo** estas aldona kanalo en rastruma grafiko, kiu difinas la tielnomatan travideblecon de rastrumeroj. "Laŭnormaj" kanaloj difinas la koloron kaj helecon de rastrumero.

## Kialo de uzado en komputila grafiko 
En komputila grafiko la alfokanalo kutime ne influas la aspekton de bildo. Tamen ĉe prilaborado (surmetado, kombinado) de bildoj la alfokanalo estas grava por aspekto de la rezulta bildo. La alfokanalon oni tre ofte uzas ekzemple ĉe kreado de animaĵoj. Ekzemple se oni volas prezenti kurantan ĉevalon antaŭ iu senmova fono, oni devas krei sekvencon de bildoj (kadroj) kun diversaj pozicioj de la ĉevalo antaŭ fono. Kutime oni surmetas diversajn kadrojn de kuranta ĉevalo sur la sama fona bildo. La fono estas la cela (ŝanĝenda) bildo kaj la fontaj bildoj estas surmetendaj bildoj. En la komputila grafiko preskaŭ ĉiuj bildoj estas rektangulaj. Tio signifas, ke ĉe simpla surmeto la fonon kovras ne nur la rastrumeroj de la ĉevalo, sed la intera rektangulo de la bildo kun ĉevalo. Tio ne ebligas fari uzeblan animacion. Por solvi la problemon ĉiu rastrumero de la surmetenda bildo havas aldonan informon pri tielnomata travidebleco de la rastrumero. La programaro kombinas la bildojn tiamaniere, ke travideblaj rastrumeroj de la fonto ne ŝanĝas la fonan bildon. Tamen netravideblaj rastrumeroj de la fonto dominas, ili superskribas la rastrumerojn de la fono. Informon pri travidebleco de rastrumeroj oni skribas en alfokanalon aldone al koloraj kanaloj.

## Kiel funkcias 
La dosieroj GIF subtenas nur du tipojn de rastrumero: plene travideblaj (parametro alfo = 0) kaj plene netravideblaj (alfo = 1). Tiam ĉiun koloron de la cela rastrumero oni kalkulas laŭ la formulo
:Rezulto = Fono * (1 - alfo) + Fonto * alfo
kie
:*Fono* estas la heleco de la fona rastrumero,
:*Fonto* estas la heleco de la surmetata rastrumero,
:*alfo* \in [0..1] estas la travidebleco de la **fonta** rastrumero.

La travidebleco de celaj (fonaj) rastrumeroj ne influas la rezulton.

La formato GIF ne havas apartan spacon por la parametro alfo. Unu koloro el 256 eblaj en GIF estas markata kiel travidebla, ĉiuj aliaj koloroj estas netravideblaj.

La formato PNG subtenas 254 aŭ 65534 gradoj de travidebleco. Tio postulas aldona(j)n unu aŭ du bitoko(j)n por la kanalo alfo en kodado de la rastrumero. Kutime por kodado de koloroj oni uzas sistemon RGB kun aldona bitoko por kanalo alfo: [R,G,B,alfo], nomata RGBA. Tiam la rezultan koloron oni kalkulas laŭ la formulo (alfo estas skalata kun multiplikanto 255)

:Rezulto = (Fono * (255 - alfo) + Fonto * alfo)/255
kie
:*Fono* estas la heleco de la fona rastrumero,
:*Fonto* estas la heleco de la surmetata rastrumero,
:*alfo* \in [0..255] estas la travidebleco de la **fonta** rastrumero.

Ĉe parta travidebleco (alfo inter 1 kaj 254) eblas surmeti duontravideblajn bildojn sur fonon. La parta travidebleco ebligas amason de diversaj interesaj efektoj. Ekzemple portretajn vinjetojn oni faras kun netravideblaj rastrumeroj en la zono centrala (vizaĝo) kaj iom post iom kreskanta travidebleco en direkto de periferio.

Oni uzas alfokanalon ankaŭ en formatoj CSS3 kaj SVG.

## Rilataj faktoj 
La operaciumo Vindozo subtenas ikonojn en sistemo RGBA (32 bitokoj por rastrumero). Se la ikono aŭ bildo de ilobreto (angle: toolbar) estas kodata kun 24 bitokoj por rastrumero, la koloro R255, G59, B48 (unu el multaj ruĝaj helaj koloroj) signifas travideblan rastrumeron kaj sub tiu rastrumero videblas la fono (ekzemple, premita aŭ nepremita butono de ilobreto). Tio povas kaŭzi neatenditajn efektojn ĉe skalado. Ekzemple ĉe bildoj de ilobretoj aperas ruĝaj randoj pro rastrumeroj proksimaj, sed ne egalaj al R255, G59, B48.
La saman koloron R255,G59,B48 oni uzas kiel signon de travidebleco ĉe surmeto de bildoj sur paĝoj TTT en retumiloj (en Canvas HTML).
La tre disvastiĝita formato BMP "oficiale" ne subtenas travideblecon. Tamen ekzistas ebleco enmeti (8-bitokan) alfokanalon en la 32-bitoka formato RGBA de BMP.
La formato JPG (JPEG) tute ne subtenas travideblecon. Do, dosieroj JPG ne enhavas alfokanalon en iu ajn formo.

## Historio 
La terminon *integral alpha* (en la angla) enkondukis en 1977 Alvy Ray Smith kaj Edwin Catmull.. En 1984 Thomas Porter kaj Tom Duff evoluigis fajnitan teĥnikon de alfo-kovrado (vidu ankaŭ Kompozicio de Porter-Duff).

Por merito ĉe evoluigo de cifera teĥniko de kompozicio Catmull, Porter, Duff kaj Smith obtenis en 1996 premion Engineering Award de Akademio de arto de movanta bildo kaj scienco..

## Literaturo 
* Thomas Porter, Tom Duff: *Compositing Digital Images.* ("Kompozicio de ciferaj bildoj") en *SIGGRAPH 1984 Proceedings.* p. 253–259. ACM, New York 1984, ISBN 0-89791-138-5 (PDF, 730 KB)
* Alvy Ray Smith: *Alpha and the History of Digital Compositing.* (Alfo kaj historio de cifera kompozicio"), Technical Memo 7, 1995 (PDF, 40 KB )
* Alvy Ray Smith: *Digital Paint Systems: An Anecdotal and Historical Overview.* ("Ciferaj sistemoj de pentrado: anekdota kaj historia superrigardo"). IEEE Annals of the History of Computing 23, 2 (Apr–Jun 2001): 4–30, .

## Referencoj 
Kategorio:Komputila grafiko