钢花架施工方案:如何显示半透明图像

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 21:29:18
我要直接操作像素值,请问如何操作前景色和背景色,以显示半透明效果?用xor吗?

xor混合是补色效果,不能得到半透明,半透明其实是前景(R1G1B1)和背景(R0G0B0)互相按不通比例混合得到的中间颜色,首先你会用到一个阀值,也就是比例值,然后你需要对每个颜色的RGB三个分支按这个阀值来混合.这个阀值叫a(阿尔法值),他控制了颜色的透明度(0<=a<=1).然后按下面公式计算即可得出混合后的颜色 这样的就是我们通常用的阿尔法混合法,公式如下:
R=R1*a+R0*(1-a)
G=G1*a+G0*(1-a)
B=B1*a+B0*(1-a)

另外,游戏中通常对于魔法等半透明效果的处理采用增色混合法,这个效果作出来的半透明对周围环境具有很强的对比效果,适合处理各种绚丽的魔法,你可以试一下,公式如下:
R=(R0+R1)>255?255:(R0+R1)
G=(G0+G1)>255?255:(G0+G1)
B=(B0+B1)>255?255:(B0+B1)

都很简单,关键在于实现的速度优化,希望对你有帮助.

有颜色混合算法,叫a操作。

设有参数a,b满足a+1=1;

前景为R1,G1,B1,背景为R0,G0,B0,则混合后的颜色(Rx,Gx,Bx)为

Rx = a*R1+b*R0;
Gx = a*G1+b*G0;
Bx = a*B1+b*B0;

其中a,b参数就是透明程度的参数。

这个可以在一般的图像处理资料中查到。