两个问题: 
1.怎样旋转、移动、缩放一个图形(比如说一个已经选中的矩形)
第一个问题我想通过菜单控制悬转,比如:选中一个图形,在右击出现的菜单中选旋转90度,请问如何实现这一功能?? 
2.怎么捕获邻近的点. 
    比如我画了一条直线,当我再想画一条和上一条线连接的直线,怎样捕获上一条线的一个点. 

解决方案 »

  1.   

    1 写三个函数 2维 情况下是  Roatate(POINT i_Pt, double  i_Angle) ,//中心点  角度
                              Translate(double i_dx,double i_dy), //x,y方向上的变化直
     Scale (POINT i_CenterPt, double i_dScale) //中心点 ,放大缩小的概率
      我估计你不是做三维,三维的cad太难2 写一个函数 bool line::hit( POINT pt); 
      

  2.   

    2.怎么捕获邻近的点.  
      比如我画了一条直线,当我再想画一条和上一条线连接的直线,怎样捕获上一条线的一个点.
    =====================================================在类中定义一个 CPoint对象,每次画完以后,将直线最后端点的坐标保存在CPoint对象中。下一次需要选之直线之前,首先使用MoveTo()函数将源点移动到CPoint对象保存的位置,再画便可以和上一条直线连接起来。
      

  3.   

    第一个问题看看opencv吧,比较容易实现,里面有些现成的函数可用