AlphaBlend参数BLENDFUNCTION
AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更漂亮的效果我们常常用它.
BLENDFUNCTION是AlphaBlend用控制透明效果的重要参数.
定义如下:
typedef struct _BLENDFUNCTION {
BYTE BlendOp;
BYTE BlendFlags;
BYTE SourceConstantAlpha;
BYTE AlphaFormat;
}BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
BlendOp: 这个参数必须也只能为AC_SRC_OVER(0x00),意思就是把源图片覆盖到目标之上.
BlendFlags: 必须为0
SourceConstantAlpha: 简写为SCA,指定源图片的透明度,这个值是会和源图片的Alpha通道值合并计算的.
AlphaFormat: 可以填两种,一种是0x00,一种是AC_SRC_ALPHA(0x01).填0的话,AlphaBlend据说就和BitBlt一样了,我没有试验过~填1的话,源DC必须是32位的DC不然的话,AlphaBlend会返回参数错误.
计算公式(当SCA不是0xFF时):
输出像素(R,G,B,A) = 源像素(R,G,B,A) * SCA / 0xFF + 目标像素(R,G,B,A) * (1.0 - SCA / 0xFF)
当SCA是0xFF时,计算公式
输出像素(R,G,B,A) = 源像素(R,G,B,A) + 目标像素(R,G,B,A) * (1.0 - 源像素(A) / 0xFF)
混合计算公式
输出像素(R,G,B) = 源像素(R,G,B) * SCA / 0xFF + 目标像素(R,G,B) * (1.0 - 源像素(A) / 0xFF * SCA / 0xFF)
AlphaBlend参数BLENDFUNCTION相关推荐
- 12.VC(ui)-AlphaBlend参数BLENDFUNCTION
AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更漂亮的效果我们常常用它. BLENDFUNCTION是AlphaBlend用控制透明效果的重要参数. 定义如下: type ...
- 关于 AlphaBlend 和 32bpp 的反锯齿图标
原文地址::http://www.haogongju.net/art/840107 相关网帖 1.DirectDraw版的AlphaBlend----http://www.haogongju.net/ ...
- AlphaBlend
AlphaBlend实现透明效果,只是仅仅能针对某块区域进行alpha操作,透明度可设. TransparentBlt能够针对某种颜色进行透明,只是透明度不可设. AlphaBlend: BLENDF ...
- WINCE下的BLENDFUNCTION
很奇怪, 在WINCE6的模拟器下,如果使用AlphaBlend,则BLENDFUNCTION的AlphaFormat必须设置为零才有效, 而MSDN里的定义是只有AC_SRC_ALPHA. 真矛盾. ...
- Windows的位图alpha混合技术
摘 要:本文介绍了在Windows环境下对位图的图像alpha混合技术,提供了alpha混合函数的实现方法,并对Windows API提供的alpha混合函数的使用进行了介绍. 关键词:Windows ...
- 通过更改透明度使图片为透明
使用AlphaBlend函数 函数功能 该 函数用来显示具有指定透明度的图像. 函数原型 AlphaBlend(HDC hdcDest,int nXOriginDest,int nYOriginDes ...
- AlphaBlend參数BLENDFUNCTION
AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更美丽的效果我们经常常使用它. BLENDFUNCTION是AlphaBlend用控制透明效果的重要參数. 定义例如以下: ...
- 半透明AlphaBlend
AlphaBlend 函数功能:该函数用来显示透明或半透明像素的位图. 函数原型: BOOL AlphaBlend( HDC hdcDest, // handle to destination DCi ...
- 半透明AlphaBlend 实现界面或某块资源的半透明
转:http://blog.csdn.net/lsmdiao0812/article/details/3324640?ADUIN=541540095&ADSESSION=1394756487& ...
最新文章
- phpstorm 快捷键
- 《强化学习周刊》第36期:DDA3C、因果推理干预、逆强化学习
- vue2.0 vue-cli项目中路由之间的参数传递
- 条件随机场——时间序列(句子单词序列也算),其特征函数必须要考虑前一刻的数据...
- SeekBar的使用(一):实现OnSeekBarChangListener
- 使用强大的 Mockito 测试框架来测试你的代码
- BTC 重现“自由落体”式暴跌,原来是受这几个因素影响?
- 物联网学什么编程语言_物联网要学什么
- excel数据分析 - 17个计算统计类函数
- 计算机搜索栏历史记录,如何打开搜索历史记录
- iOS 播放视频的基本步骤
- 担忧:房价八大预言,市场来检验。
- 字体 跨域访问_21个访问量最大的免费字体网站
- 深入理解吴恩达老师深度学习课程(01神经网络和深度学习 第二周)
- python 怎么输出实际的根号2_Python怎么输出根式?
- 才智杂志才智杂志社才智编辑部2022年第35期目录
- 笔记本 android,震惊:这个秘籍可以让笔记本同时拥有(mac/win/Android)系统
- 六、PageRank算法与代码实战【CS224W】(Datawhale组队学习)
- Python实现摄像头状态巡检
- python 字典dict的update语法
热门文章
- [区块链]-- EOS.IO技术白皮书
- 数学一本通【数论】小三学算术
- php图片转位图,图像必须是什么模式才可以转换为位图模式?
- Makefile中export的用法
- 西南民族大学计算机基础技能应用培训基地,第六届计算机基础技能应用培训基地开班典礼顺利举行...
- 闲谈IPv6-Loopback网口上的IPv6地址
- ip加速器为什么受游戏玩家欢迎?
- (最简单)红米手机3S 3X的usb调试模式在哪里打开的流程
- php fastcgi配置_[转帖]将 FastCGI 配置为主机 PHP 应用程序 (IIS 7) | 霸王硬上弓's Blog...
- extends 与 implements 的区别 !