当前位置: 源码素材网 » Delphi教程 » 详情页

Delphi 7.0实现图片飞入动画,类似于幻灯片效果

  •   时间:2020-12-22
  • 概述:图片特效 图片动画

本代码是Delphi7.0实现的图片飞入动画特效,最终的效果与Office中的PPT幻灯片十分相似,不过本代码还需要优化,图片飞入效果不是那么流畅,有兴趣的可学习以下代码:

unit MobilePicture;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
type
  TFmTxxs = class(TForm)
    BtBegin: TButton;
    BtExit: TButton;
    procedure BtBeginClick(Sender: TObject);
    procedure BtExitClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  FmTxxs: TFmTxxs;
implementation
{$R *.dfm}
procedure TFmTxxs.BtBeginClick(Sender: TObject);
const
  step=200;
  x0=20;  // 左边界
  y0=20;   // 上边界
var
  Bitmap:TBitmap;
  MidX:Integer;//中间变量,当前步骤所拷贝位图的宽
  RatioX:Real;//每步位图宽度增加量
  I:Integer;
  Rect1,Rect2:TRect;//源、目标矩形区域
begin
  Bitmap:=TBitmap.Create;
  Bitmap.LoadFromFile('示例图片.bmp');//装入位图文件
  RatioX:=Bitmap.Width/Step;
  for I:=0 to Step do
  begin
   MidX:=Round(RatioX*I);
   with Rect1 do //设置复制的目标区域
   begin
    Left:=Bitmap.Width-MidX;
    Top:=0;
    Right:=Bitmap.Width;
    Bottom:=Bitmap.Height;
   end;
   with Rect2 do //设置复制的源区域
   begin
    Left:=X0;
    Top:=Y0;
    Right:=X0+MidX;
    Bottom:=Y0+Bitmap.Height;
   end;
   Canvas.CopyRect(Rect2,Bitmap.Canvas,Rect1);//复制位图
 end;
 Bitmap.Free;//释放位图资源
end;
procedure TFmTxxs.BtExitClick(Sender: TObject);
begin
  FmTxxs.Close; //退出
end;
end.

使用本代码完成的图片飞入特效实例:Delphi图片动画效果:仿PPT图片飞入特效

    相关声明:

      若“Delphi 7.0实现图片飞入动画,类似于幻灯片效果”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。