主页 > 编程资料 > Delphi >
发布时间:2015-09-22 作者:网络 阅读:503次

介绍

本文章实现了Delphi XE6 在两个图片切换的时候实现翻书效果,实现这个效果需要使用到TSwipeTransitionEffect 、TPathAnimation。

首先我们创建一个HD的FireMonkey工程,然后添加如下的控件:TImage、TSwipeTransitionEffect 、TSelectionPoint、TPathAnimation ,然后为Image控件加载一个图片,然后选择为TSwipeTransitionEffect选择返回的图片。

这样在Image控件的OnClick事件下添加如下代码
procedure TForm1.Image1Click(Sender: TObject,',',');
begin
  PathAnimation1.Enabled := False;
  SelectionPoint1.Position.Point := PointF(0,0,',',');
  SelectionPoint1.Opacity := 0;
  PathAnimation1.Parent := SelectionPoint1;
  PathAnimation1.Path.Clear;
// begin Path for mouse pointer
  PathAnimation1.Path.MoveTo(PointF(0,0),',',');
  PathAnimation1.Path.LineTo(PointF(Form1.Width/2,Form1.Height/2),',',');
  PathAnimation1.Path.LineTo(PointF(Form1.Width*2,0),',',');
// end
  PathAnimation1.Duration := 2;
  PathAnimation1.Start;
end;


然后为TPathAnimation控件添加OnFinish、OnProcess事件代码
procedure TForm1.PathAnimation1Finish(Sender: TObject,',',');
var
  BitMap : TBitmap;
begin
  BitMap := TBitmap.Create(0,0,',',');
  BitMap.Assign(SwipeTransitionEffect1.Target,',',');
  SwipeTransitionEffect1.Target := Image1.Bitmap;
  Image1.Bitmap.Assign(BitMap,',',');
  SwipeTransitionEffect1.MousePoint := PointF(0,0,',',');
end;

procedure TForm1.PathAnimation1Process(Sender: TObject,',',');
begin
SwipeTransitionEffect1.MousePoint:=SelectionPoint1.Position.Point;
end;

关键字词: