zoukankan      html  css  js  c++  java
  • (4)关于Alpha通道问题

    其实,我还是不理解,我还是先把我目前懂得和觉得有用的东西先存下来

    =======================================================================

    l  Alpha 没有透明度的意思,不代表透明度。opacity 和 transparency 才和透明度有关,前者是不透明度,后者是透明度。比如 css 中的「opacity: 0.5」就是设定元素有 50% 的不透明度。

    l  一个图像的每个像素都有 RGB 三个通道,后来 Alvy Ray Smith 提出每个像素再增加一个 Alpha 通道,取值为0到1,用来储存这个像素是否对图片有「贡献」,0代表透明、1代表不透明。也就是说,「Alpha 通道」储存一个值,其外在表现是「透明度」,Alpha 和透明度没啥关系。

    l  为什么取名为 Alpha 通道,我觉得是因为这是除RGB以外「第一个通道」的意思,没有别的更深刻的含义。

    l  「Alpha 通道」是图片内在的一个属性,用 css 或者其他外部方法设定透明度,并没有改变图片的 Alpha 通道的值。

     

    阿尔法通道(α Channel或Alpha Channel)是指一张图片的透明和半透明度。例如:一个使用每个像素16比特存储的位图,对于图形中的每一个像素而言,可能以5个比特表示红色,5个比特表示绿色,5个比特表示蓝色,最后一个比特是阿尔法。在这种情况下,它要么表示透明要么不是,因为阿尔法比特只有0或1两种不同表示的可能性。又如一个使用32个比特存储的位图,每8个比特表示红绿蓝,和阿尔法通道。在这种情况下,就不光可以表示透明还是不透明,阿尔法通道还可以表示256级的半透明度,因为阿尔法通道有8个比特可以有256种不同的数据表示可能性。

     

    ========================================================================

    Alpha 是出现在 32 位位图文件中的一类数据,用于向图像中的像素指定透明度。24 位真彩文件包含三种颜色信息通道:红、绿和蓝或 RGB。每个通道在各个像素上都拥有具体的强度或值。每个通道的强度决定图像中像素的颜色。 通过添加第四种 alpha 通道,文件可以指定每个像素的透明度或不透明度。alpha 的值为 0 表示透明,alpha 的值为 255 则表示不透明,在此范围之间的值表示半透明。透明度对于合成操作是至关重要的,如在 Video Post 中,位于各个层中的几个图像要混合在一起。 对于所渲染图像中对象的锯齿边缘周围部分透明的像素,alpha 通道特别有用。这些像素用于合成。如果生成 alpha 通道,并且与图像一同保存,那么类似于上述形式的图像可以平滑地合成到不同的背景中。 真彩位图文件的每个通道都定义为 8 位,可以提供 256 个级别的强度。因此,一个 RGB 文件是 24 位的,具有 256 个级别(都带有红、绿和蓝)。RGBA 文件(红、绿、蓝、alpha)是 32 位的,具有额外的 8 位 alpha,可以提供 256 个级别的透明度。 3ds max 可以在渲染时自动创建 alpha 通道。所渲染图像中的背景像素是完全透明的,alpha 通道也可以说明通过材料等对象创建的任何其他透明度。通过单击工具栏上的“显示 Alpha 通道”按钮,可以在渲染帧窗口中看到这种情况:在生成的显示中,黑色像素是完全透明的,白色像素是不透明的,而灰色像素则显示透明度。要返回到常规显示,再次单击“显示 Alpha 通道”即可。 要输出带有 alpha 的渲染图像,请以 alpha 兼容的格式进行保存,如 TIFF 或 Targa。

  • 相关阅读:
    poj2411 状压dp
    棋盘覆盖TYVJ1035(二分图最大匹配)
    poj3417
    无向图边双+缩点
    无向图点双+缩点
    bzoj1123(割点加路径统计)
    【BZOJ1178】会议中心(APIO2009)-贪心+倍增+set
    【BZOJ4650】优秀的拆分(NOI2016)-后缀数组+RMQ+差分
    【BZOJ4569】萌萌哒(SCOI2016)-并查集+倍增
    【BZOJ2208】连通数(JSOI2010)-SCC+DP+bitset
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/10173926.html
Copyright © 2011-2022 走看看