假设您想要将带有颜色的像素(R0 G200 B255)放在BMP图片中,并且您有百分比transp
选项。
如何根据transp
和背景颜色确定新的像素颜色?
我实际上可以找出一个看起来很有希望的公式:
newpixel = newpixel + (bgpixel * transp) / %(transp of 255)
我通过分析GIMP中的像素颜色变化来创建它。不确定这是否是正确的公式。我认为它也被围捕了。
答案 0 :(得分:1)
标准公式为pixel = new_pixel * alpha + pixel * (1 - alpha)
,其中 alpha 是 0 和 1 之间的数字,用于描述新的不透明度(前景)像素。
您需要注意的是,如果新像素完全透明(alpha = 0
),则像素不变,如果新像素完全不透明(alpha = 1
),则新像素将替换旧像素之一。
此公式必须单独应用于每个像素组件(红色,绿色和蓝色)。
答案 1 :(得分:0)
代码需要更改为24位像素。
其中第4个字节是透明度因子。
实际颜色值不会改变