Delphi - TBlindsEffect komponens

Bitmap effektek 2. rész

forráskód letöltése

A Blinds effektnél a képet adott számú sorra vagy oszlopra osztjuk fel, az animáció irányától függően, ami lehet balról-jobbra, jobbról-balra, fentről-lefelé, és lentről-felfelé. A sávokat az animáció irányából fokozatosan jelenítjük meg úgy, hogy mindig az aktuális lépésszámnak megfelelő szélességben, vagy magasságban rajzoljuk meg azokat. A mellékelt példaprogram megnyitása előtt a BlindsEffect.pas-ban lévő komponenst telepítenie kell a Delphi alá. A komponens telepítéséhez szükség van a cikksorozat első részéhez mellékelt BaseEffect unit-ra is.

Az animáció irányát a Direction property-n keresztül adhatjuk meg, melynek értékei a következők lehetnek:
  • bdUp: vízszintes sávok, és a megjelenítés alulról felfelé történik;
  • bdDown: szintén vízszintes sávok, de az animáció felülről-lefelé történik.
  • bdLeft: függőleges sávok, balról-jobbra történik a megjelenítés;
  • bdRight: függőleges sávok, jobbról-balra történik a megjelenítés;
A sávok számát a Bands property-n keresztül adhatjuk meg.

Az animációhoz szükséges lépések száma a kép magassága vagy szélessége osztva a sávok magasságával vagy szélességével, az animáció irányától függően.

A PrepareBitmap eljárásban egy ciklust indítunk, ami annyiszor fut le, ahány sávot meg kell jeleníteni. Minden lépésben kiszámoljuk az adott sáv koordinátáit, illetve szélességét és magasságát, majd a TBaseEffect osztály CopyImg eljárásával megrajzoljuk azt.


Bitmap effektek cikksorozat