图像透明算法

半透明算法:
   混合算法目前在常用到的算法是AlphaBlend。
   计算公式如下:假设一幅图象是A,另一幅透明的图象是B,那么透过B去看A,看上去的图象C就是B和A的混合图象,
   设B图象的透明度为alpha(取值为0-1,1为完全透明,0为完全不透明).
    Alpha混合公式如下:
       R(C)=(1-alpha)*R(B) + alpha*R(A)
       G(C)=(1-alpha)*G(B) + alpha*G(A)
       B(C)=(1-alpha)*B(B) + alpha*B(A)
       R(x)、G(x)、B(x)分别指颜色x的RGB分量原色值。从上面的公式可以知道,Alpha其实是一个决定混合透明度的数值。
   改变这个 alpha 值可以得到一个渐变的效果。

分离RGB色用"位与"、"移位"运算的方法;

   透明的比例按2的N次幂来分级,这样可以快速运算。
   如果是按32级
  Alpha = 1/32
  B图的权重 = (32-n)/32,则A图的权重= n/32,

  可以得到这样的算法:

  R(C)= (32-n) * R(B)+ n* R(A);
 再对R(C)右移5位(除以32)就可以了
 
透明的处理:
   假设指定B上的黑色透明色,则碰到B上的颜色为黑色,则不显示黑色,改为显示A上这个位置的颜色。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiulufei/archive/2009/11/11/4799020.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值