Alfakanal

Inom datorgrafik hänvisar alfakompositering till att kombinera en bild med en bakgrund för att skapa en delvis transparent effekt .  Den här tekniken används ofta för bildbehandling med flera pass och sedan kombinera dessa delar till en enda 2D-bild.

Således är alfakanalen ( engelska  alfakanalen ) ett tomt utrymme, eller helt enkelt transparens.

Termen "alfakanal" [1] myntades först av Alvey Smith i slutet av 1970-talet. och utarbetats i ett papper från 1984 av Thomas Porter och Tom Duff [2] .

I dataspel används texturer med en alfakanal för att visa ett objekts genomskinlighet .

Alfablandning

Alfablandning är en  teknik för att skapa en genomskinlig effekt genom att kombinera den ursprungliga pixeln med en pixel som redan finns i framebuffern . Varje pixel tilldelas vanligtvis ett rött, grönt och blått ( RGB ) färgvärde. Om ett alfavärde också matchas, sägs pixlarna ha en alfakanal (komponent A).

Alfavärdet bestämmer hur transparent en viss pixel är. Objekt kan ha olika transparens, till exempel kan en 8-bitars alfakanal representera 256 nivåer av transparens: från 0 (hela bitmappen är transparent) till 255 (hela bitmappen är ogenomskinlig) [3] . Alfablandning är processen att kombinera två objekt på skärmen baserat på deras alfakanaler. Alfablandning används för: kantutjämning ; skapa transparens, skuggor, speglar, dimma [4] .

Beräkning av den resulterande färgen

Beräkningen av ljusstyrkan hos den resulterande pixeln efter att ha lagt två pixlar ovanpå varandra utförs med formeln:

eller i en annan notation:

Beteckningar:

Den andra posten visar följande betydelse: värdet indikerar den relativa positionen på segmentet .

Support och användning

En alfakanal, även känd som en kanalmask , är helt enkelt ett sätt att kombinera övergångstransparens med en bild. GIF - formatet stöder enkel binär transparens (när vilken pixel som helst kan vara antingen helt transparent eller helt ogenomskinlig). PNG -formatet tillåter 254 eller 65534 nivåer av partiell transparens.

Alla tre typer av PNG-bilder (" TrueColor " , " GrayScale " och indexerad palett) kan innehålla alfainformation, även om detta vanligtvis bara används med " TrueColor "-bilder. Istället för att lagra tre byte för varje pixel (röd, grön och blå, RGB), lagras fyra byte: röd, grön, blå och alfa, vilket får RGBA.

Denna övergångstransparens gör att du kan skapa " specialeffekter " som ser bra ut på vilken bakgrund som helst. Till exempel kan en fotovinjetteffekt för ett porträtt uppnås genom att ställa in mittområdet helt ogenomskinligt (d.v.s. för ansikte och axlar), transparent för resten av miljön och skapa en mjuk övergång mellan dessa två olika områden. Följaktligen kommer porträttet att bli mjukt ljusare på en vit bakgrund och mörkare på en svart. En annan specialeffekt med transparens är skugggjutning.

Transparens är viktigast för små bilder som vanligtvis används på webbsidor , till exempel färgade (cirkulära) markörer eller snygg text. Alfablandning låter dig använda en annan effekt, nämligen kantutjämning , skapa illusionen av  jämna kurvor på ett rutnät av rektangulära pixlar, smidigt ändra deras färger, vilket gör att du kan uppnå rundade bilder som visas bra både på vit och på vilken annan bakgrund som helst . På så sätt kan samma bild återanvändas på flera ställen utan "spökeffekten" som är inneboende i GIF-bilder [5] .

Windows XP stöder 32-bitars ikoner (ikoner) - 24 bitars RGB-färg och en 8-bitars alfakanal. Detta gör att du kan visa ikoner med jämna (suddiga) kanter och skuggor som smälter in med vilken bakgrund som helst.

CSS3 tillåter också användningen av RGBA- och HSLA- färgmodellen , där alfavärdet tar värden från 0 till 1 (endast från rationella tal ). Det finns också en opacitet [6] transparensparameter .

Alfakanalen används också i SVG .

Dess användning är fortfarande möjlig i Canvas , till exempel för att bilda genomskinliga former eller bilder.

Anteckningar

  1. MSDN. Direct3D 11.BC7-format. . Datum för åtkomst: 26 juni 2015. Arkiverad från originalet 1 juli 2015.
  2. Thomas Porter och Tom Duff, Compositing Digital Images, Computer Graphics, 18(3), juli 1984, 253-259. DOI:10.1145/800031.808606
  3. MSDN. Alfablandning . Datum för åtkomst: 29 juni 2015. Arkiverad från originalet 1 juli 2015.
  4. Alfablandning . Hämtad 29 juni 2015. Arkiverad från originalet 4 mars 2016.
  5. rus-linux.net Arkiverad 27 augusti 2011 på Wayback Machine ( GFDL -licens )
  6. htmlbook.ru - CSS - opacitet . Hämtad 26 juni 2013. Arkiverad från originalet 7 juni 2018.

Litteratur

Se även