图片的半透明处理
来源:互联网 发布:linux 安装2个jdk 编辑:程序博客网 时间:2024/06/05 17:30
半透明原理:
假设LCD是256色的。颜色格式为332(RGB)
显存中的每一个字节的数据对应一个象素点。
在数据写入显存之前,读取相应相素点值,然后与新的数据按一定的规则混合之后,再写入相应像素点的显存。
这样主要问题关键是混合算法。
混合算法目前在游戏上常用到的算法是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混合技术,可以实现游戏中的许多特效,比如火光、烟雾、阴影、动态光源等半透明效果。
假设LCD是256色的。颜色格式为332(RGB)
显存中的每一个字节的数据对应一个象素点。
在数据写入显存之前,读取相应相素点值,然后与新的数据按一定的规则混合之后,再写入相应像素点的显存。
这样主要问题关键是混合算法。
混合算法目前在游戏上常用到的算法是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混合技术,可以实现游戏中的许多特效,比如火光、烟雾、阴影、动态光源等半透明效果。
阅读全文
0 0
- 图片的半透明处理
- VC图片的半透明处理
- VC图片的半透明处理
- VC图片的半透明处理
- (转)VC图片的半透明处理
- J2ME 处理图片半透明
- 画半透明的图片
- CSS的半透明处理
- J2ME图片半透明处理(使用图片像素)
- 图片的透明半透明显示!
- png图片半透明部分在网页中显示为白色的处理
- 针对LOGO的半透明图片的显示
- 像素叠加实现图片的半透明混合
- 用ps制作一个半透明的图片
- 使用半透明div覆盖图片的方法
- 一个VB.NET写的简单图片缩放处理组件源代码,支持添加半透明效果小图标
- J2ME图片半透明处理(使用图片像素)(仅部分手机支持)
- 半透明显示图片
- Python3 列表(list)
- Android源码解析之Dalvik虚拟机简要介绍和学习计划
- elasticsearch-java api之过滤
- xilinx FPGA配置加载
- 自己的android keystore 提示密钥库文件不存在
- 图片的半透明处理
- MySQL Character Set Problem 详细解释
- Lintcode:链表节点计数
- 装机软件清单
- 马云:未来三十年,我们要把机器变成人
- A
- “聚势创业 筑梦创新” 2017国际双创大会暨国际创业创新大赛正式启动
- vswitch ovsschema 结构,更好的使用ovs-vsctl命令,操作ovsdb
- LeetCode||69. Sqrt(x)