画刷重叠显示 假设我要画三个圆,颜色分别为R,G,B这三个圆有重叠部分,重叠部分要按混色来显示例如圆R和圆G重叠的部分就显示(R+G)的颜色可是我现在实现的显示是覆盖,求大侠指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.CreateSolidBrush();//RGB()=混色2.CreateRgn();// 取重叠部分3,。FillRgn();// 按混色画区域。 创建区域句柄,分别获取几个重叠区域的句柄,然后再计算重叠颜色。//下面是搜到的计算方法,没有验证过。假设一幅图象是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) SetROP2() ?http://msdn.microsoft.com/zh-cn/library/99ax95h9(v=vs.80) 首先感谢你提供的方法但是效率上面很慢,如果我要填充的区域是些不规则的区域,计算区域之间的交集要费很多时间我记得GDI里面有个设置draw mode的函数SetROP2()里面可以设置前景色与背景色的交互方式,但是我只会GDI+,不会GDI所以想请教下,可不可以用这个函数实现我想要的功能 怎样把ComboBox下拉选中的内容追加到当前内容之后? 网上 Socket的例子recv函数不太理解! 收不到WM_DrawItem? 一个vc编译的问题,求教! 我的xp很慢 vc生成的可执行文件,怎样才能加上一个图标 为什么结果不同?Linux下SOCKET网络通讯 有没有人用过windows media services sdk的? 谁知道键盘扫描码(scan code)和虚拟键值(VK_系列)有什么关系。 是不是没加头文件? Spin control设置为什么属性就可以与Edit control成为伙伴控件 开发一个语音聊天小软件要用哪些技术,谁介绍一下
2.CreateRgn();// 取重叠部分
3,。FillRgn();// 按混色画区域。
//下面是搜到的计算方法,没有验证过。
假设一幅图象是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)
http://msdn.microsoft.com/zh-cn/library/99ax95h9(v=vs.80)
首先感谢你提供的方法
但是效率上面很慢,如果我要填充的区域是些不规则的区域,
计算区域之间的交集要费很多时间我记得GDI里面有个设置draw mode的函数
SetROP2()里面可以设置前景色与背景色的交互方式,
但是我只会GDI+,不会GDI
所以想请教下,可不可以用这个函数实现我想要的功能