我现在有两个矩形,怎么能知道这两个矩形相交了呢?

解决方案 »

  1.   

    if(r1.xmax<r2.xmin ||r1.xmin>r2.xmax ||r1.ymax<r2.ymin || r1.ymin>r2.ymax)
    //不相交
    ...
    else
    //相交
    ....
      

  2.   

    有一个办法是:查找是否存在既在第一个矩形,又在第二个矩形的点,若存在,则两个矩形相交。(有点麻烦)。
    另一个办法看能不能用CRgn?我没用过,可能可以吧。谁会的话也告诉我一声。
      

  3.   

    use API IntersectRect():
    BOOL IntersectRect(
      LPRECT lprcDst,        // pointer to structure for intersection
      CONST RECT *lprcSrc1,  // pointer to structure with first rectangle
      CONST RECT *lprcSrc2   // pointer to structure with second rectangle
    );
      

  4.   

    IntersectRect()返回TRUE,则lprcSrc1和lprcSrc2所指向的两个矩形区域相交
      

  5.   

    xiepoor1(xiepoor1) :
      r1.xmax为矩形的x坐标的最大值