画好了的矢量图如何实现旋转功能?

解决方案 »

  1.   

    我有旋转的功能,你有矢量图旋转后通过它周围的八个控制点改变它的大小的功能的代码吗?
    你的EMAIL?
      

  2.   

    [email protected]我用了别人控件TExpressFlowchart,那些代码都在里面,
      

  3.   

    if DangqianPointNum=0 then
        hudu:=LiangDianHuDu(YuanDian,AJiZhunDian)-LiangDianHuDu(YuanDian,FLinshiQSD)
      else hudu:=LiangDianHuDu(YuanDian,AJiZhunDian)-LiangDianHuDu(YuanDian,FLinshiJSD);
      QSDian:=XuanZhuanDian(FLinshiQSD,YuanDian,hudu);
      JSDian:=XuanZhuanDian(FLinshiJSD,YuanDian,hudu);
    //这是一条直线沿中点旋转
    function TTuXing.LiangDianHuDu(AQSDian, AJSDian: TDian): Double;
    begin
      if (Abs(AQSDian.X-AJSDian.X)<0.01) and (Abs(AQSDian.Y-AJSDian.Y)<0.01) then Result:=0
        else
          if Abs(AQSDian.X-AJSDian.X)<0.01 then
          begin
            if AJSDian.Y>AQSDian.Y then Result:=(pi/2) else Result:=(3*PI/2);
          end
          else
          begin
            Result:=ArcCos((AJSDian.X-AQSDian.X)/LiangDianJuLi(AJSDian,AQSDian));
            if AJSDian.Y>AQSDian.Y then Result:=2*PI-Result;
          end;
    end;这是计算两点的弧度!