Alpha 通道是什么
每个像素上的第四个数字。真正要紧的是那些中间值。
核对于 2026年8月6日
直接说结论
Alpha 通道是和红、绿、蓝并排存着的第四个值,说明这个像素有多不透明。0 是完全看不见,最大值是完全实心,中间的一切都是部分透明。PNG 和 WebP 带这个通道,JPEG 不带,所以把一张抠好的图存成 JPEG,透明的地方会被填上颜色。
哪些格式带这个通道
| 格式 | Alpha | 说明 |
|---|---|---|
| PNG | 完整,256 级 | 抠图的默认答案。 |
| WebP | 完整,256 级 | 同样的能力,更小的文件。 |
| AVIF | 完整 | 更小,浏览器之外认它的软件更少。 |
| GIF | 一位 | 一个像素要么完全在要么完全没有,所以边缘是锯齿的。 |
| JPEG | 没有 | 一保存,每个透明像素都变成某种实色。 |
| 有 | 透明在置入后仍然成立,所以抠好的图可以放进 PDF。 |
级数决定了一条边看上去是"抠出来的"还是"贴上去的"。只有一位,就是没人怀念 GIF 干这件事的原因。
中间值才是全部要点
如果透明只有开和关两档,每条边都会是台阶。真实的边缘并不对齐像素网格,而一根头发丝比一个像素还细,所以它落进的那个像素,确实一部分是头发,一部分是它背后的东西。那里的 alpha 值是三成,这不是妥协也不是四舍五入,那就是相机记录下来的事实。
一张抠图保住了头发,和另一张抠成了紧缩包裹式的剪影,差别就在这里:边缘像素是被允许"部分存在",还是被迫二选一。
你的 PNG 为什么是黑背景
绝大多数情况是因为这张图经过了某个不带 alpha 通道的环节,那个环节必须往透明的位置填一种颜色。JPEG 是最常见的罪魁。填的颜色通常是白色,而是黑色的次数多到足以让这成为人们来问的那个问题。
另一个原因出在看图的软件而不是文件上。有些预览窗格和一些较老的程序把透明区域画成黑色,而不是画成棋盘格。在下结论说文件坏了之前,先用浏览器打开同一个文件看看。
棋盘格是画上去的,不是数据
透明图片背后那些灰白方格,是你正在用的软件画给你看的,好让你分得清透明和白色。它们不在文件里,也不会被导出。
而且它也是检查抠图质量的糟糕方式:浅灰恰好藏住淡色光晕,而那是最常见的瑕疵。把抠图放到一个饱和的颜色上,红色或黑色,光晕立刻自己现形。
一路保到最后
存成 PNG 或 WebP。存成 JPEG,alpha 就是永久没了,不是被藏起来了。如果某个服务非要 JPEG,那就主动决定背景颜色,而不是任由它取默认值,这样出来的结果才是你选的那个。
如果你本来就想要一个有颜色的背景,那么填背景是单独的一步,在你自己的机器上运行,什么也不往外发。
拿到一张带真 alpha 通道的抠图
这里的背景移除工具返回的是带完整 alpha 通道的 PNG,包括头发和柔边。它是这个站上三个会把文件发到我们服务器的工具之一,这一点值得直说而不是含糊过去:图片处理完即丢弃,不存储,也绝不用于训练任何模型。
更多指南
指南FAQ
- Alpha 通道是什么?
- 和红、绿、蓝一起存在每个像素上的第四个值,描述这个像素有多不透明。0 是完全透明,最大值是完全实心,中间那些值才让柔边成为可能。
- 哪些图片格式支持透明?
- PNG、WebP 和 AVIF 带完整的 alpha 通道。GIF 只有一位,一个像素要么在要么不在。JPEG 完全没有。
- 透明 PNG 为什么显示成黑背景?
- 要么它经过了一个没有 alpha 的格式,通常是 JPEG,透明被填掉了;要么你正在用的软件把透明区域画成黑色。用浏览器打开就能分辨是哪一种。
- 存成 JPEG 会去掉透明吗?
- 会,而且是永久的。每个透明像素都会被写成一种实色,重新打开也无法还原 alpha 通道原本记录的东西。
- 透明和白底是一回事吗?
- 不是,把图放到别的东西上那一刻差别就出来了。白底在深色页面上仍然是白的,透明则会显出背后那样东西的颜色。
- 什么是预乘 alpha?
- 一种存储约定,颜色通道已经先乘过 alpha 值了。它让合成更省事,主要是软件内部的事,而不是你手上文件的事。一张抠图放到浅色背景上出现深色边缘,这个环节不匹配是可能的原因之一。