介绍
本文章实现了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;
关键字词: