⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iextratransitions.pas

📁 ·ImageEn 2.3.0 ImageEn一组用于图像处理、查看和分析的Delphi控件。能够保存几种图像格式
💻 PAS
📖 第 1 页 / 共 5 页
字号:
procedure Effect125(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect126(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect128(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect129(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect130(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect131(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect132(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect133(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect134(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect135(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect136(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect137(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect138(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect139(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect140(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect141(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect142(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect143(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect144(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect145(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect146(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect147(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect148(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect149(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);
procedure Effect150(DestCanvas:TCanvas; Screen, Image: TBitmap; const Rect: TRect;
  Step: Integer; Progress: Integer);

type
  TEffect = record
    Name: String;
    Proc: TEffectProc;
  end;

const
  {
  NOTE:
  - REMOVED ALL EFFECTS THAT ARE THE SAME AS THOSE ALREADY IN IMAGEEN
  - ALSO RE-ORDERED TO MAKE MORE CONISTENT WITH IMAGEEN
  }

  MAX_TRANSITIONS=163;

  IETransitionList: array[1..MAX_TRANSITIONS] of TEffect = (

  // ADD IMAGEEN TRANSITIONS TO OUR ARRAY SO ALL TRANSITION NAMES CAN BE ACCESSED

    (Name: 'Cross Fade';                                                Proc: nil),
    (Name: 'Fade Out';                                                  Proc: nil),
    (Name: 'Fade In';                                                   Proc: nil),
    (Name: 'Fade Out then In';                                          Proc: nil),
    (Name: 'Wipe Left to Right';                                        Proc: nil),
    (Name: 'Wipe Left to Right 2';                                      Proc: nil),
    (Name: 'Wipe Right to Left';                                        Proc: nil),
    (Name: 'Wipe Right to Left 2';                                      Proc: nil),
    (Name: 'Wipe Top to Bottom';                                        Proc: nil),
    (Name: 'Wipe Top to Bottom 2';                                      Proc: nil),
    (Name: 'Wipe Bottom to Top';                                        Proc: nil),
    (Name: 'Wipe Bottom to Top 2';                                      Proc: nil),
    (Name: 'Slide from Top Left';                                       Proc: nil),
    (Name: 'Slide from Top Right';                                      Proc: nil),
    (Name: 'Slide from Bottom Left';                                    Proc: nil),
    (Name: 'Slide from Bottom Right';                                   Proc: nil),
    (Name: 'Push Left to Right';                                        Proc: nil),
    (Name: 'Slide Out Left to Right';                                   Proc: nil),
    (Name: 'Push Right to Left';                                        Proc: nil),
    (Name: 'Slide Out Right to Left';                                   Proc: nil),
    (Name: 'Push Top to Bottom';                                        Proc: nil),
    (Name: 'Slide Out Top to Bottom';                                   Proc: nil),
    (Name: 'Push Bottom to Top';                                        Proc: nil),
    (Name: 'Slide Out Bottom to Top';                                   Proc: nil),
    (Name: 'Random Points';                                             Proc: nil),
    (Name: 'Random Boxes';                                              Proc: nil),
    (Name: 'Wipe Out from Center';                                      Proc: nil),
    (Name: 'Wipe In to Center';                                         Proc: nil),
    (Name: 'Expand Out from Center';                                    Proc: nil),
    (Name: 'Expand In to Center';                                       Proc: nil),

     // PS EFFECTS START
    (Name: 'Expand from Left';	                                        Proc: Effect002),
    (Name: 'Expand from Right';	                                        Proc: Effect001),

    (Name: 'Expand from Top';	                                        Proc: Effect019), 
    (Name: 'Expand from Bottom';	                                Proc: Effect018),
                                                                                         
    (Name: 'Expand from Top Left';	                                Proc: Effect037),
    (Name: 'Expand from Top Right';	                                Proc: Effect036),
    (Name: 'Expand from Bottom Left';	                                Proc: Effect038),
    (Name: 'Expand from Bottom Right';	                                Proc: Effect035),

    (Name: 'Expand in from Left';	                                Proc: Effect008),
    (Name: 'Expand in from Right';	                                Proc: Effect007),
    (Name: 'Expand in from Top';	                                Proc: Effect025),
    (Name: 'Expand in from Bottom';	                                Proc: Effect024),

    (Name: 'Expand in to Vertical Center';                              Proc: Effect009), 
    (Name: 'Expand in to Horizon';       	                        Proc: Effect026),

    (Name: 'Expand in from Sides';	                                Proc: Effect013),
    (Name: 'Expand in from Top and Bottom';	                        Proc: Effect030),
                                                                                           
    (Name: 'Expand out from Horizon';	                                Proc: Effect027),
    (Name: 'Expand out from Vertical Center';	                        Proc: Effect010),

    (Name: 'Wipe from Top Left';	                                Proc: Effect043),
    (Name: 'Wipe from Top Right';	                                Proc: Effect046),
    (Name: 'Wipe from Bottom Left';	                                Proc: Effect044),
    (Name: 'Wipe from Bottom Right';	                                Proc: Effect045),
                                                                                         
    (Name: 'Wipe from Horizon';	                                        Proc: Effect028),
    (Name: 'Wipe in from Sides';	                                Proc: Effect012),
    (Name: 'Wipe out from Vertical Center';	                        Proc: Effect011),

    (Name: 'Build up from Left';	                                Proc: Effect017),
    (Name: 'Build up from Right';	                                Proc: Effect016),
    (Name: 'Build up from Top';	                                        Proc: Effect034),
    (Name: 'Build up from Bottom';	                                Proc: Effect033),

    (Name: 'Unroll from Left';	                                        Proc: Effect014),
    (Name: 'Unroll from Right';	                                        Proc: Effect015),
    (Name: 'Unroll from Top';	                                        Proc: Effect031),
    (Name: 'Unroll from Bottom';	                                Proc: Effect032),
                                                                                           
    (Name: 'Slide in from Left';	                                Proc: Effect004),
    (Name: 'Slide in from Right';	                                Proc: Effect003),
    (Name: 'Slide in from Top';	                                        Proc: Effect021),
    (Name: 'Slide in from Bottom';                                      Proc: Effect020),
    (Name: 'Slide in from Top and Bottom';	                        Proc: Effect029),

    (Name: 'Shrink to Top Left';	                                Proc: Effect047),
    (Name: 'Shrink to Top Right';	                                Proc: Effect050),
    (Name: 'Shrink to Bottom Left';	                                Proc: Effect048),
    (Name: 'Shrink to Bottom Right';	                                Proc: Effect049),
    (Name: 'Shrink to Center';	                                        Proc: Effect051),

    (Name: 'Quarters Wipe in to Center';	                        Proc: Effect055),
    (Name: 'Quarters Expand to Center';	                                Proc: Effect056),
    (Name: 'Quarters Slide in to Center';	                        Proc: Effect057),

    (Name: 'Curved Wipe from Left';	                                Proc: Effect058),
    (Name: 'Curved Wipe from Right';	                                Proc: Effect059),
    (Name: 'Curved Wipe from Top';	                                Proc: Effect069),
    (Name: 'Curved Wipe from Bottom';	                                Proc: Effect070),

    (Name: 'Bars in from Left';	                                        Proc: Effect061),
    (Name: 'Bars in from Right';	                                Proc: Effect060),
    (Name: 'Bars from Top';	                                        Proc: Effect072),
    (Name: 'Bars from Bottom';	                                        Proc: Effect071),

    (Name: 'Bars Left then Right';	                                Proc: Effect062),
    (Name: 'Bars Right then Left';	                                Proc: Effect063),
    (Name: 'Bars Top then Bottom';	                                Proc: Effect073),
    (Name: 'Bars Bottom then Top';	                                Proc: Effect074),

    (Name: 'Bars from both Sides';	                                Proc: Effect064),
    (Name: 'Bars from Top and Bottom';	                                Proc: Effect075),

    (Name: 'Shredded from Left';	                                Proc: Effect066),
    (Name: 'Shredded from Right';	                                Proc: Effect065),
    (Name: 'Shredded from Top';	                                        Proc: Effect077),
    (Name: 'Shredded from Bottom';	                                Proc: Effect076),

    (Name: 'Shredded from Top and Left';	                        Proc: Effect103),
    (Name: 'Shredded from Top and Right';	                        Proc: Effect101),
    (Name: 'Shredded from Bottom and Left';	                        Proc: Effect102),
    (Name: 'Shredded from Bottom and Right';	                        Proc: Effect100),

    (Name: 'Shredded from Horizon and Left';	                        Proc: Effect105),
    (Name: 'Shredded from Horizon and Right';	                        Proc: Effect104),
    (Name: 'Shredded from Top and Vertical Center';	                Proc: Effect107),
    (Name: 'Shredded from Bottom and Vertical Center';	                Proc: Effect106),

    (Name: 'Shredded to Center';	                                Proc: Effect109),
    (Name: 'Shredded from Center';	                                Proc: Effect108),

    (Name: 'Shredded in to Horizon';	                                Proc: Effect079),
    (Name: 'Shredded in to Vertical Center';                            Proc: Effect068),
    (Name: 'Shredded out from Horizon';	                                Proc: Effect078),
    (Name: 'Shredded out from Vertical Center';                         Proc: Effect067),

    (Name: 'Rectangular Shred';                                         Proc: Effect142),
    (Name: 'Triangular Shred to Top Left';                              Proc: Effect117),

    (Name: 'Curved Wipe from Top Left';	                                Proc: Effect080),
    (Name: 'Curved Wipe from Top Right';	                        Proc: Effect081),
    (Name: 'Curved Wipe from Bottom Left';	                        Proc: Effect082),
    (Name: 'Curved Wipe from Bottom Right';	                        Proc: Effect083),

    (Name: 'Circular Wipe from Center';	                                Proc: Effect084),
    (Name: 'Circular Wipe to Center';	                                Proc: Effect085),

    (Name: 'Crisscross Wipe from Top Left';	                        Proc: Effect089),
    (Name: 'Crisscross Wipe from Top Right';	                        Proc: Effect087),
    (Name: 'Crisscross Wipe from Bottom Left';	                        Proc: Effect088),
    (Name: 'Crisscross Wipe from Bottom Right';	                        Proc: Effect086),

    (Name: 'Crisscross Wipe Bounce from Top Left';	                Proc: Effect090),
    (Name: 'Crisscross Wipe Bounce from Top Right';	                Proc: Effect092),
    (Name: 'Crisscross Wipe Bounce from Bottom Left';                   Proc: Effect091),
    (Name: 'Crisscross Wipe Bounce from Bottom Right';	                Proc: Effect093),

    (Name: 'Crisscross Wipe from Left Right and Top';	                Proc: Effect097),
    (Name: 'Crisscross Wipe from Left Right and Bottom';	        Proc: Effect096),
    (Name: 'Crisscross Wipe from Left Top and Bottom';	                Proc: Effect095),
    (Name: 'Crisscross Wipe from Top Left Right and Bottom';	        Proc: Effect098),
    (Name: 'Crisscross Wipe from Right Top and Bottom';	                Proc: Effect094),
    (Name: 'Crisscross Wipe from Bottom Left Top Right';	        Proc: Effect099),

    (Name: 'Wipe diagonal from Top Left';	                        Proc: Effect110),
    (Name: 'Wipe diagonal from Top Right';	                        Proc: Effect111),
    (Name: 'Wipe diagonal from Bottom Left';	                        Proc: Effect112),
    (Name: 'Wipe diagonal from Bottom Right';	                        Proc: Effect113),

    (Name: 'Diagonal Sweep Clockwise';                          	Proc: Effect115),
    (Name: 'Diagonal Sweep Counter-Clockwise';                      	Proc: Effect114),
    (Name: 'Sweep Clockwise';                                           Proc: Effect143),
    (Name: 'Sweep Counter-Clockwise';                                   Proc: Effect144),

    (Name: 'Starburst Clockwise from Center';	                        Proc: Effect116),
    (Name: 'Rotational Rectangle';                                      Proc: Effect149),
    (Name: 'Rotational Star';                                           Proc: Effect150),

    (Name: 'Speckled Wipe from Left';	                                Proc: Effect124),
    (Name: 'Speckled Wipe from Right';	                                Proc: Effect123),
    (Name: 'Speckled Wipe from Top';	                                Proc: Effect126),
    (Name: 'Speckled Wipe from Bottom';	                                Proc: Effect125),

    (Name: 'Push Left and Slide out';	                                Proc: Effect129),
    (Name: 'Push Right and Slide out';                                  Proc: Effect128),
    (Name: 'Push up and Slide out';	                                Proc: Effect133),
    (Name: 'Push down and Slide out';	                                Proc: Effect132),

    (Name: 'Push and Squeeze Left';                                     Proc: Effect131),
    (Name: 'Push and Squeeze Right';                                    Proc: Effect130),
    (Name: 'Push and Squeeze up';                                       Proc: Effect135),
    (Name: 'Push and Squeeze down';                                     Proc: Effect134),

    (Name: 'Horizontal Blinds';                                         Proc: Effect137),
    (Name: 'Vertical Blinds';                                           Proc: Effect136),

    (Name: 'Uneven Blinds from Left';                                   Proc: Effect138),
    (Name: 'Uneven Blinds from Right';                                  Proc: Effect139),
    (Name: 'Uneven Blinds from Top';	                                Proc: Effect140),
    (Name: 'Uneven Blinds from Bottom';                                 Proc: Effect141),

    (Name: 'Rectangles from the Left';                                  Proc: Effect145),
    (Name: 'Rectangles from the Right';                                 Proc: Effect146),
    (Name: 'Rectangles from the Top';                                   Proc: Effect147),
    (Name: 'Rectangles from the Bottom';                                Proc: Effect148)
    );


{ THE FOLLOWING EFFECTS WERE REMOVED, SEE RELEVANT PROCEDURE BELOW FOR REASON
    (Name: 'Wipe from Left';	                                        Proc: Effect005),
    (Name: 'Wipe from Right';	                                        Proc: Effect006),
    (Name: 'Wipe from Top';	                                        Proc: Effect022),
    (Name: 'Wipe from Bottom';	                                        Proc: Effect023),
    (Name: 'Slide in from Bottom Right';	                        Proc: Effect039),
    (Name: 'Slide in from Top Right';	                                Proc: Effect040),
    (Name: 'Slide in from Top Left';	                                Proc: Effect041),
    (Name: 'Slide in from Bottom Left';	                                Proc: Effect042), 
                                                                                         
    (Name: 'Expand out from centre';	                                Proc: Effect052),
    (Name: 'Wipe out from centre';	                                Proc: Effect053),
    (Name: 'Wipe in to centre';	                                        Proc: Effect054),
    (Name: 'Fade';	                                                Proc: Effect118),
    (Name: 'Pivot from Top Left';	                                Proc: Effect119),
    (Name: 'Pivot from Bottom Left';	                                Proc: Effect120),
    (Name: 'Pivot from Top Right';	                                Proc: Effect121),
    (Name: 'Pivot from Bottom Right';	                                Proc: Effect122),  
    (Name: 'Random squares appear';	                                Proc: Effect127),
}




procedure MirrorCopyRect(Canvas: TCanvas; dstRect: TRect; Bitmap: TBitmap; srcRect: TRect; Horz, Vert: Boolean);
procedure RotatePoints(var Points: array of TPoint; xOrg, yOrg: Integer; Angle: Extended);

{$endif}


implementation

{$ifdef IEINCLUDEEXTRATRANSITIONS}

uses imageenproc,hyieutils;

{$IFNDEF DELPHI4_UP}
type
  HRGN = THandle;
{$ENDIF}

(*
uses
  Math;
  *)


      
{ Global Functions }

procedure MirrorCopyRect(Canvas: TCanvas; dstRect: TRect;
  Bitmap: TBitmap; srcRect: TRect; Horz, Vert: Boolean);
var
  T: Integer;
begin
  IntersectRect(srcRect, srcRect, Rect(0, 0, Bitmap.Width, Bitmap.Height));
  if Horz then
  begin
    T := dstRect.Left;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -