如何能够使图片在移动的过程中的效果和PowerPoint做幻灯片中的螺旋效果一样。给出具体的算法代码,如可用马上结贴!
    一起学习,帮忙UP!

解决方案 »

  1.   

    to:
       ahjoe(强哥)
       只说是没用的,拿出点行动——
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var x,y,Qa:Extended;
        D,R,N:Extended;
        Px,Py,Xr,Yr:Integer;
        Procedure CalcUnits(Const eR,eXr,eYr,eQa:Extended;var eX,eY:Extended);
        begin
          eX:=eXr+R*Cos(eQa);
          eY:=eYr+R*Sin(eQa);
        end;begin
        //self.Canvas.Pen.Color:=clBlue;//色
        D:=40;  //螺距
        R:=200;  //半徑
        Yr:=300; //園心高度
        Xr:=100;
          Qa:=Xr/D;
          CalcUnits(R,Xr,Yr,Qa,X,Y);
          Px:=Trunc(X);
          Py:=Trunc(Y);
          self.Canvas.MoveTo(Px,Py);
          Image1.AutoSize :=False;////
          Image1.Stretch:=True;   ////
          Image1.Width:=5;
          Image1.Height:=5;
          Image1.Left:=Px;//
          Image1.Top :=Py;//
          Image1.Refresh; //    while Xr<=400 do
        begin
          Qa:=Xr/D;
          CalcUnits(R,Xr,Yr,Qa,X,Y);
          Px:=Trunc(X);
          Py:=Trunc(Y);
          self.Canvas.LineTo(Px,Py);
          Image1.Left:=Px;//
          Image1.Top :=Py; //
          Image1.Width:= Image1.Width+5; //图象放大
          Image1.Height:=Image1.Height+5;//图象放大
          Image1.Refresh;
          Sleep(20);     //延時
          Xr:=Xr+10;
          Yr:=Yr-5;      //变轴
          R:=R-5;        //变半径
        end;
    end;