Delphi XE6 在两个图片切换的时候实现翻书效果


本文整理自网络,侵删。

 介绍

本文章实现了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;

相关阅读 >>

Delphi cxdbtreelist1判断当父节点含有子节点时 不能删除此父节点

Delphi 过滤开头 结尾 全部 空格的函数

Delphi fdmemtable1建立缓存表 模糊查询

Delphi 判断端口是否被使用

Delphi 计算一个字符串在另一个字符串中出现的次数

Delphi string转换成tstrings

Delphi隐藏当前进程(新)

Delphi中strtodatetime函数tformatsettings参数的使用

Delphi 百万次重复调用字符分割函数,不耗内存用法

Delphi如何粘贴html格式文本到windows剪切板

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...