首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

GDI+(Gdiplus)如何创建区域

2012-12-22 
GDI+(Gdiplus)怎么创建区域?如果用GDI,可以用Create……Rgn之类的函数(例如CreateEllipticRgn)创建一个区域,

GDI+(Gdiplus)怎么创建区域?
如果用GDI,可以用Create……Rgn之类的函数(例如CreateEllipticRgn)创建一个区域,括号里的是创建椭圆区域。然后我们可以用SetWindowRgn函数重设窗口所在的区域,就是将窗口设置成不同的形状。

但是,问题1.如果继续用GDI,大家都应该知道,GDI该死的锯齿真的很讨厌,至今我也没有找到抗锯齿的办法,但是用上面所说的两个函数重设窗口的形状真的很方便。那么,如果大家知道GDI抗锯齿的方法,而且是足够简便的,就可以直接回答,下面基本可以忽略了。

问题二。如果大家也没有找到简便的GDI抗锯齿的方法,那么谁知道GDI+(Gdiplus)怎么创建一个能够被SetWindowRgn函数使用的区域?因为我在GDI+函数里找到了抗锯齿函数,而且效果不错,就是苦于不知道GDI+怎么创建一个区域,可以被SetWindowRgn函数使用,知道的畅所欲言吧
[最优解释]
这个例子里有你想要的答案
[其他解释]
UpdateLayeredWindow支持用一张透明位图(比如PNG)创建异形窗口,效果真的不错,详情参考:http://bbs.csdn.net/topics/370175604
[其他解释]
那么如果是第二个问题呢?怎么用GDI+创建一个区域,我只找到了GdipCreateRegionRect,就是创建一个矩形区域,而创建别的图元区域的函数我始终没有找到。该怎么做?

根据我现在找到的函数,看看我这个思路对不对啊。如果要创建椭圆区域,先用GdipAddPathEllipseI创建一个路径,返回一个EllipsePath,然后将这个传给GdipCombineRegionPath,再将区域转成路径。这样对吗?

现在先不做异型窗体了,现在要做点击检查,这个一定要用到区域了~
[其他解释]
由UpdateLayeredWindow创建的窗体,完全透明的部份是不响应点击的,话说回来,如果只做点击测试,干嘛非得用GDI+呢。
[其他解释]

引用:
由UpdateLayeredWindow创建的窗体,完全透明的部份是不响应点击的,话说回来,如果只做点击测试,干嘛非得用GDI+呢。

也没说非要,只是前面用了GDI+画图,那么就顺便吧
[其他解释]
问题又被解决了~~,都是要谢谢各位的,结贴给分~

热点排行