alpha
定义
alpha是位图图像中的一种附加数据通道,其每个像素的取值描述对应像素的不透明度,即该像素在与其他图像叠加时对最终画面的贡献比例[4][5]。它本身不携带颜色,只携带「覆盖多少」这一信息,因此常被描述为一张与图像逐像素对应的灰度遮片[3]。
在颜色之外增设透明信息后,一个像素的完整描述由红、绿、蓝3个分量和1个alpha分量组成,即RGBA四元组;按每分量8比特存储时,一个像素共占32比特[6][5]。 alpha通道与「蒙版」在概念上相通:蒙版以灰度记录哪些区域受保护、哪些区域可编辑,而存放蒙版的正是alpha通道[3]。
原理
alpha值通常取0至1之间的实数,0代表完全透明、1代表完全不透明;以字节存储则以0至255表示同一区间[4][6]。若图像未显式带alpha通道,多数图像处理系统在读取时将其不透明度视为1,即整幅图像不透明[4]。
把前景像素与背景像素按alpha值加权相加,即所谓alpha混合(alpha blending)。以字节值计,前景分量占 $\alpha/255$ 的权重,背景分量占 $1-\alpha/255$ 的权重,结果写回输出像素[5]。多层叠加时可用合成代数统一表达,最常见的是以前景A覆盖背景B的 over 运算:
alpha通道有平直(straight)与预乘(premultiplied)两种存储方式。平直alpha下,RGB分量只表示颜色,与透明度无关;预乘alpha下,RGB分量已事先乘以不透明度,完全透明像素的颜色分量必为0,合成时可省去一次乘法,且在概念上更为简洁[1][7]。两种方式不能混用,处理与合成前须确认图像采用哪一种,否则会出现亮度或边缘错误[1]。
flowchart LR
A[前景像素 RGBA] --> C{按 alpha 加权}
B[背景像素 RGBA] --> C
C --> D[合成结果: 颜色 + 新 alpha]
发展历程
1977年,艾德文·卡特姆与匠白光在纽约理工学院提出「内置alpha」(integral alpha)的设想:不再把遮片作为独立的图像另存,而是直接放在前景图像的第4个通道中,使颜色与透明度成为一个整体,这一通道被命名为阿尔法通道,相应像素称为RGBA像素[2][7][8]。命名中的「alpha」来自混合公式 $C=\alpha A+(1-\alpha)B$ 中所用的变量α[2]。
1984年,同属卡特姆团队的托马斯·波特(Thomas Porter)与汤姆·达夫(Tom Duff)系统区分了预乘与非预乘alpha,并给出以 over、in 等运算符表达的合成代数,使alpha通道的理论趋于完整[2][1]。匠白光后来回顾,内置alpha把图像生成与图像合成两个步骤分开,改变了数字合成的作业方式;此后建立的卢卡斯影业图形部门从最初就以RGBA为基本格式[7]。1996年,卡特姆、波特、达夫与匠白光因数字合成技术的贡献获得美国电影艺术与科学学院的工程奖[2]。
在格式层面,PNG等图像格式把alpha写入文件结构,可通过图像头中的颜色类型字段判断是否带alpha通道[5]。GIF只保留一个调色板项作为全透明,无法表示半透明;后续的APNG、动画WebP等格式则支持8位alpha[9][10]。视频方面,VP8、VP9、AV1与HEVC的部分实现可携带alpha通道,H.264则不支持,因此MP4通常无法保存透明信息[9][11]。
应用
数字合成与影视特效是最典型的用途。拍摄或渲染好的前景素材若带alpha通道,就可以直接叠到新的背景上,实现火焰、爆炸、雨雪等元素的叠加,并保留边缘的半透明过渡[11]。电视直播中大量计算机生成的图形元素被合成到现场镜头上,同样依赖各元素自带的透明度信息[1]。
在二维绘图与界面设计中,alpha通道用于记录选区与蒙版:选区可存为alpha通道,之后随时重新载入;在蒙版上以黑色绘制的区域受保护,以白色绘制的区域可编辑[3]。网页与移动界面中,带alpha的PNG、WebP图像可直接叠放在任意背景上,无需预先抠图[10]。
在三维图形渲染中,alpha值可以来自纹理,用于控制物体轮廓:纹理中alpha为0的纹素使几何体呈不可见,介于0与1之间则呈半透明,配合alpha测试或alpha混合可实现树木、植被等复杂轮廓的单面片绘制[12]。深度缓冲数据也可被当作alpha通道使用,通过在不同深度图之间插值并反复合成,产生焦点前后移动的视觉效果[13]。
局限
alpha通道表达的是每个像素的单一不透明度,本身不记录该像素被哪些几何体覆盖、以何顺序覆盖。多张透明对象相互穿插时,必须按由远及近的顺序绘制才能得到正确结果,排序需在观察坐标系下进行;若对象互相穿透,还需拆分三角形甚至沿交线切割后分别排序,计算量显著增加[12]。
格式支持是另一重限制。JPEG与BMP无法保存alpha通道,带有透明区域的图像只能被压平到某一背景色上;GIF仅有1位透明,柔和边缘与投影会变成生硬的锯齿轮廓[5][10]。视频领域同样如此,H.264不支持alpha,常见的MP4封装因而无法承载透明视频,需要改用WebM、MOV等容器或动画WebP[9]。即使编解码器支持,浏览器的实现也不一致,例如HEVC带alpha的视频主要在苹果平台的浏览器中播放,在其他平台可能显示为空白[9]。
此外,alpha通道只能描述部分透明,无法表达折射、次表面散射等与光线传播有关的效果;预乘与平直两种表示若在同一流程中混用,或在解码环节被忽略,透明区域会渲染成黑色方块,这也是图像处理中常见的失败情形[5]。
参见
参考资料
- Alpha合成 [引用日期2026-10-29]
- Alphakanal – Wikipedia [引用日期2026-10-29]
- [科普中国]-alpha通道 [引用日期2026-10-29]
- AlphaChannel: 颜色、图像或视频的不透明度—Wolfram Documentation [引用日期2026-10-29]
- The Alpha Channel - 跳至主要内容 跳到 Ask Learn 聊天体验 [引用日期2026-10-29]
- [0052] S121:获取所述当前行驶位置对应的预设的图像中位置的Alpha通道值 [引用日期2026-10-29]
- proxy [引用日期2026-10-29]
- NYIT Computer Graphics Lab Then and Now [引用日期2026-10-29]
- Transparency in video · mediacodec.dev [引用日期2026-10-29]
- 透明和 Alpha — 文档 — Celas Studio [引用日期2026-10-29]
- Alpha Channels [引用日期2026-10-29]
- Alpha Component - Chapters and Articles [引用日期2026-10-29]
- US20060181549 [引用日期2026-10-29]