圆角窗体问题..请教大虾们

mc_ran 2012-06-07 09:55:17
像QQ音乐 这种窗体大家应该都见到过,我看了下用来贴图的图片,上面画好了窗体,四个角的部位都用某种特殊的颜色,贴出来四个角部分就是透明的,我想请问大家是如何实现的呢??
...全文
162 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
august_zhao 2012-06-11
  • 打赏
  • 举报
回复
SetLayeredWindowAttributes

指定颜色替换成透明色
asxaigo 2012-06-11
  • 打赏
  • 举报
回复
饿,你幸好遇到了我,这论坛里好多人都藏着掖着不愿意说,我也遇到过这个问题
以前我也用SetWindowRgn(),但是这 是坑爹的
稍大点的图片获取图片形状就会卡至少2秒,不是我算法有问题,几乎所有的获取形状都这样
正确的方法是,先把四个角落随便涂个颜色A,然后设置窗口属性
ModifyStyleEx(0,WS_EX_LAYERED);
SetLayeredWindowAttributes(, ,),//参数里面填你的颜色A & 该颜色完全透明,,
这样你的窗口完全透明的部分就自动被截取的形状。
具体的你看函数说明吧,相信你看了就自然会明白
mc_ran 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
SetWindowRgn() ??
[/Quote]

可能会用到,但是像腾讯是如何贴图的呢??四个角部分都是紫色的,在界面上显示,紫色部分都编程了透明色
zgszft 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

SetWindowRgn() ??
[/Quote]
+1
http://topic.csdn.net/u/20120416/12/435a83c0-d68e-424b-a482-c4512c70906b.html
Eleven 2012-06-08
  • 打赏
  • 举报
回复
SetWindowRgn() ??
zgszft 2012-06-08
  • 打赏
  • 举报
回复
哪有紫色?
mc_ran 2012-06-08
  • 打赏
  • 举报
回复
别沉了呀,我的求知欲还没得到满足!
mc_ran 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

是否用了颜色混合
[/Quote]

没明白
  • 打赏
  • 举报
回复
是否用了颜色混合

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧