图片alpha blending的计算

时间:2021-08-30 09:06:21
转载时请注明出处和作者联系方式:http://blog.csdn.net/mimepp
作者联系方式:YU TAO <yut616 at sohu dot com>

一幅彩色图像的每一个像素用R,G,B三个分量表示,若每一个分量用8位,那么一个像素共用3X8=24位表示。
在用32位表示一个像素时,若R,G,B分别用8位表示,剩下的8位常称为α通道(alpha channel)位。它用来表示该像素怎样产生特技效果,即通常我们说的半透明。

alpha的取值一般为0到255。
为0时,表示是全透明的,即图片是看不见的。为255时,表示图片是显示原始图的。中间值即为半透明状态。
计算alpha blending时,通常的方法是将源像素的RGB值,分别与目标像素(如背景)的RGB按比例混合,最后得到一个混合后的RGB值。
方法:

 + R_dest;

在microwindows中也有相似的代码:

图片alpha blending的计算;
图片alpha blending的计算        }
图片alpha blending的计算        dst8 += dlinelen_minus_w4;
图片alpha blending的计算        src8 += slinelen_minus_w4;
图片alpha blending的计算    }

假设你使用的数据是YUV数据,那么依据YUV与RGB的转换公式:

图片alpha blending的计算.114B
图片alpha blending的计算U= (B-Y)*0.565
图片alpha blending的计算V= (R-Y)*0.713

也能够直接对YUV应用上面的公式计算alpha blending,不必转换成RGB再混合。