确定透明度的公式
Formula to determine transparancy
假设您想在 BMP 图片中放置颜色 (R0 G200 B255) 的像素,并且您有 transp
百分比选项。
考虑到 transp
和背景颜色,如何确定新的像素颜色?
我实际上可以找出一个看起来很有希望的公式:
newpixel = newpixel + (bgpixel * transp) / %(transp of 255)
我通过分析 GIMP 中的像素颜色变化创建了它。不确定这是否是正确的公式。我觉得也是四舍五入。
代码需要更改为 24 位像素。
其中第 4 个字节是透明度因子。
实际颜色值不变
标准公式为pixel = new_pixel * alpha + pixel * (1 - alpha)
,其中alpha是介于0和1[之间的数字=22=] 描述新(前景)像素的不透明度。
您会注意到,如果新像素是完全透明的 (alpha = 0
),则像素没有变化,如果新像素是完全不透明的 (alpha = 1
),则新像素会替换旧像素一.
此公式必须分别应用于每个像素分量(红色、绿色和蓝色)。
假设您想在 BMP 图片中放置颜色 (R0 G200 B255) 的像素,并且您有 transp
百分比选项。
考虑到 transp
和背景颜色,如何确定新的像素颜色?
我实际上可以找出一个看起来很有希望的公式:
newpixel = newpixel + (bgpixel * transp) / %(transp of 255)
我通过分析 GIMP 中的像素颜色变化创建了它。不确定这是否是正确的公式。我觉得也是四舍五入。
代码需要更改为 24 位像素。
其中第 4 个字节是透明度因子。
实际颜色值不变
标准公式为pixel = new_pixel * alpha + pixel * (1 - alpha)
,其中alpha是介于0和1[之间的数字=22=] 描述新(前景)像素的不透明度。
您会注意到,如果新像素是完全透明的 (alpha = 0
),则像素没有变化,如果新像素是完全不透明的 (alpha = 1
),则新像素会替换旧像素一.
此公式必须分别应用于每个像素分量(红色、绿色和蓝色)。