Альфа-канал

Матэрыял з Вікіпедыі - вольнай энцыклапедыі
Перайсці да навігацыі Перайсці да пошуку

У кампутарнай графіцы альфа-кампазітынг ( англ.: Alpha compositing ) абазначае камбінаванне малюнка з фонам з мэтай стварэння эфекту частковай празрыстасці. Гэты метад часта ўжываецца для шматпраходнай апрацоўкі малюнка з наступнай камбінацыяй гэтых частак у адзіную двухмерную выніковую выяву.

Такім чынам, альфа-канал ( англ.: Alpha channel ) уяўляе сабой пустую прастору, ці проста празрыстасць.

Тэрмін «альфа-канал» [1] упершыню ўведзены ў абарачэнне Алві Смітам у канцы 1970-х гг. і дэталёва прапрацаваны ў артыкуле Томаса Портэра і Тома Дафа 1984 года [2] .

У кампутарных гульнях , каб паказаць празрыстасць таго ці іншага аб'екта, выкарыстоўваюцца тэкстуры з альфа-каналам.

Альфа-змяшэнне

Альфа-змяшэнне ( ангел. Alpha blending ) ― тэхніка стварэння эфекту напаўпразрыстасці шляхам аб'яднання зыходнага пікселя з пікселем, які ўжо знаходзіцца ў фрэйм-буферы . Кожнаму пікселю звычайна ставяцца ў адпаведнасць значэння чырвонага, зялёнага і сіняга кампанентаў колеру ( RGB ). Калі ставіцца ў адпаведнасць яшчэ і альфа-значэнне, то гавораць, што пікселі маюць альфа-канал (кампанент A).

Альфа-значэнне вызначае ступень празрыстасці канкрэтнага пікселя. Аб'екты могуць мець розную празрыстасць, напрыклад 8-бітны альфа-канал можа прадстаўляць 256 узроўняў празрыстасці: ад 0 (уся растравая выява празрыстая) да 255 (уся растравая выява непразрыстая) [3] . Альфа-змяшэнне ёсць працэс камбінавання двух аб'ектаў на экране з улікам іх альфа-каналаў. Альфа-змяшэнне выкарыстоўваецца для: антыаліясінгу ; стварэння празрыстасці, ценяў, люстэркаў, туману [4] .

Разлік выніковага колеру

Разлік яркасці выніковага пікселя пасля накладання двух пікселяў сябар на сябра выконваецца па формуле:

або ў іншым запісе:

Абазначэнні:

  • - яркасць фонавага пікселя;
  • - яркасць накладваецца пікселя;
  • - непразрыстасць накладваецца пікселя;
  • ― вынік.

Другі запіс адлюстроўвае наступны сэнс: значэнне паказвае адноснае становішча на адрэзку .

Падтрымка і выкарыстанне

Альфа-канал, таксама вядомы як маска-канал , - гэта проста спосаб аб'яднаць пераходную празрыстасць з выявай. Фармат GIF падтрымлівае простую бінарную празрыстасць (калі любы піксель можа быць альбо цалкам празрыстым, альбо абсалютна непразрыстым). Фармат PNG дазваляе выкарыстоўваць 254 ці 65534 ўзроўню частковай празрыстасці.

Усе тры тыпу PNG-малюнкаў (« TrueColor », « GrayScale » і індэксаваная палітра) могуць утрымоўваць альфа-інфармацыю, хоць звычайна яна ўжываецца толькі з « TrueColor » выявамі. Замест таго, каб захоўваць тры байта для кожнага пікселя (чырвоны, зялёны і сіні, RGB), захоўваюцца чатыры: чырвоны, зялёны, сіні і альфа, такім чынам атрымліваецца RGBA.

Такая пераходная празрыстасць дазваляе ствараць " спецэфекты ", добра выглядаюць на любым фоне. Напрыклад, эфекту фотовиньетки для партрэта можна дамагчыся шляхам усталёўкі цалкам непразрыстай цэнтральнай вобласці (гэта значыць для асобы і плячэй), празрыстай астатняй абстаноўкі і са стварэннем плыўнага пераходу паміж двума гэтымі рознымі абласцямі. Адпаведна, партрэт будзе плаўна асвятляцца на белым фоне, і зацямняцца на чорным. Яшчэ адзін спецэфект з празрыстасцю - гэта адкідванне цені.

Празрыстасць найболей важная для маленькіх малюнкаў, звычайна выкарыстоўваных на web-старонках , напрыклад, для каляровых (круглых) маркераў ці мудрагелістага тэксту. Альфа-змешванне дазваляе выкарыстоўваць іншы эфект, а менавіта згладжванне ( англ.: Anti-aliasing ), ствараючы ілюзію гладкіх крывых на сетцы прастакутных пікселяў, плаўна змяняючы іх колеры, што дазваляе дамагчыся круглявых малюнкаў, добра адлюстроўваюцца як на белым, так і на любым іншым. фоне. Такім чынам адно і тое ж выява можа быць шматкроць выкарыстана ў некалькіх месцах без «прывіднага» эфекту, уласцівага GIF-малюнкам [5] .

Windows XP падтрымлівае 32-бітныя значкі (іконкі) – 24 біта колеру RGB і 8-бітны альфа-канал. Гэта дазваляе адлюстроўваць значкі са згладжанымі (размытымі) бакамі і ценем, якія спалучаюцца з любым фонам.

CSS3 таксама дазваляе выкарыстоўваць каляровую мадэль RGBA і HSLA , дзе значэнне альфа прымае значэння ад 0 да 1 (толькі з рацыянальных лікаў ). Таксама існуе параметр празрыстасці opacity [6] .

Альфа-канал таксама выкарыстоўваецца ў SVG .

Яго прымяненне яшчэ магчыма ў Canvas , напрыклад для фарміравання напаўпразрыстых фігур або малюнкаў.

Нататкі

  1. MSDN. Direct3D 11. BC7 Format.
  2. Thomas Porter and Tom Duff, Compositing Digital Images, Computer Graphics, 18(3), July 1984, 253-259. DOI:10.1145/800031.808606
  3. MSDN. Alpha blending
  4. Альфа-змяшэнне
  5. rus-linux.net (ліцэнзія GFDL )
  6. htmlbook.ru - CSS - opacity

Літаратура

  • Thomas Porter, Tom Duff: Compositing Digital Images. In SIGGRAPH 1984 Proceedings. S. 253-259. ACM, New York 1984, ISBN 0-89791-138-5 (PDF, 730 KB )
  • Alvy Ray Smith: Alpha і history of Digital Compositing. Technical Memo 7, 1995 ( PDF, 40 KB )
  • Alvy Ray Smith: Digital Paint Systems: An Anecdotal and Historical Overview. IEEE Annals of the History of Computing 23, 2 (Apr-Jun 2001): 4-30, ISSN 1058-6180

Глядзіце таксама