Chinaunix首页 | 论坛 | 博客
  • 博客访问: 454774
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 17:24:48


但我在编写ACTIVEX控件时,发现用HRGN hDrawArea = CreateRectRgn(...)创建的对象,用SelectClipRgn(hdc, NULL); DeleteObject(hDrawArea);无法释放,能否指点迷津! ( headsea 发表于 2004-11-3 16:50:00)

我有这样的想法,利用刚才的方法,我们可以把一个图形的边框绘制出来,得到一个中间空心的边框。那么有谁能在边框里面画线条,用线条把这个图形模拟出来,也就是说再生成一组线条,用它来模拟原先的图形。 ( unfirewood 发表于 2004-9-10 14:57:00)

如果单单想得到一个字体的外框的话,还可以利用getglyphoutline这个函数,不过用起来比较复杂。它是得到边框的点的信息,然后把这些点相连,就构成了一个边框。 ( unfirewood 发表于 2004-9-10 14:52:00)

楼主的想法非常巧妙,不过GDI中是有函数可以用于RGN的描边的,使用CDC中的FrameRgn函数就可以了,你试着把下面的代码加到你的程序中看看是不是和你的一样?
rgn.OffsetRgn(0,200);
dc.FrameRgn(&rgn,&CBrush(RGB(0,0,0)),1,1);
另外,楼主的方法虽然不是最简单的,但的确是非常巧妙的,而且这个思想可以使用在一些别的应用中,对小弟我也很有启发,在这里表示感谢。
( liutang 发表于 2004-9-2 20:48:00)

不错的想法!不知能不能再融入anti-aliasing技术,很多不规则窗口都会有很难搞的锯齿现象 ( underyun 发表于 2004-9-1 14:43:00)

.......................................................

--------------------next---------------------

阅读(322) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~