确定透明度的公式

时间:2015-02-16 01:29:08

标签: c colors bitmap pixel bmp

假设您想要将带有颜色的像素(R0 G200 B255)放在BMP图片中,并且您有百分比transp选项。

如何根据transp和背景颜色确定新的像素颜色?


我实际上可以找出一个看起来很有希望的公式:

newpixel = newpixel + (bgpixel * transp) / %(transp of 255)

我通过分析GIMP中的像素颜色变化来创建它。不确定这是否是正确的公式。我认为它也被围捕了。

2 个答案:

答案 0 :(得分:1)

标准公式为pixel = new_pixel * alpha + pixel * (1 - alpha),其中 alpha 0 1 之间的数字,用于描述新的不透明度(前景)像素。

您需要注意的是,如果新像素完全透明(alpha = 0),则像素不变,如果新像素完全不透明(alpha = 1),则新像素将替换旧像素之一。

此公式必须单独应用于每个像素组件(红色,绿色和蓝色)。

答案 1 :(得分:0)

代码需要更改为24位像素。

其中第4个字节是透明度因子。

实际颜色值不会改变