📄 iextratransitions.pas
字号:
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 + -