delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
征求一个好的算法 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061008213029263.html
如何判定一个点是否在一个多边形内呢?  
  canvas上的有一个任意多边形,怎样判定canvas上的点是否在这个多边形内呢?

看到这样的帖子,首先要赞一个。  
   
  我不是技术,说个方法。抛砖引玉。  
   
  将任意多边形区域内染色,然后看哪个点是否被染色了。

刚看问题,感觉挺简单,确实这个问题是不容易的,楼上的正解。  
  查了下图形学的书,成熟算法有好几个,边填充,种子填充都有,没有现成的代码,劝楼主找个图形学的书,仔细看下算法就知道了。

MFC里有CRgn类的方法PtInRegion来判定,不知道API是不是有现成的函数。

API之中有,刚刚查到  
  BOOL   PtInRegion(  
   
          HRGN   hrgn, //   handle   of   region    
          int   X, //   x-coordinate   of   point      
          int   Y   //   y-coordinate   of   point      
        );  
    具体用法,自己研究下了。

posted on 2009-03-13 10:30 delphi2007 阅读(100) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。