Delphi - TWheelEffect komponens

Bitmap effektek 12. rész

forráskód letöltése
Az IrisEffect egy igen látványos képátmenetet valósít meg, ráadásul többféle formában. A kép megjelenítése egy fokozatosan növekvő, vagy csökkenő méretű alakzatban történik (kör, csillag, pralelogramma, stb.).
A mellékelt példaprogram megnyitása előtt a IrisEffect.pas-ban lévő komponenst telepítenie kell a Delphi alá. A komponens telepítéséhez szükség van továbbá a cikksorozat első részéhez mellékelt BaseEffect unit-ra.
Az IrisStyle property-n keresztül szabályozhatjuk, hogy a képáttünés milyen alakzaton keresztül történjen. Ezek a következők lehetnek:
  • isPlus: plusz jel alakzat;
  • isDiamond: „gyémánt”, vagyis egy 45 fokban elforgatott négyzet alakzat;
  • isCircle: kör alakzat;
  • isCross: X alakzat;
  • isSquare: négyzet alakzat;
  • isStar: csillag alakzat.
A Motion property-vel azt adhatjuk meg, hogy az alakzat mérete fokozatosan növekedjen, vagy csökkenjen, vagyis az animáció középről kifelé (imOut), vagy kintről befelé (imIn) történjen-e. A megjelenítendő kép abban az alakban jelenik meg, amit az IrisStyle property-ben beállítottunk.
Az Initialize eljárásban beállítjuk a kezdő képeket és a lépésszámot. Hogy melyik lesz a kezdő kép, az attól függ, hogy az animáció milyen irányban történik. Amikor bentről kifelé, akkor az alakzatban a megjelenítendő kép fog látszani, amikor pedig kintről befelé, akkor az éppen látható kép lesz az alakzatban, és ahogy az alakzat mérete csökken, úgy látszik egyre inkább a megjelenítendő kép.
A megjelenítendő képet az FTempImage objektumban hozzuk létre, ezért ennek Canvas objektumában beállítjuk a Brush.Bitmap-ot a megfelelő képre. Amikor az alakzatot megrajzoljuk, akkor ez a kép jelenik meg benne.
A PrepareBitmap eljárásban nincs más dolgunk, mint a megfelelő alakzatot megrajzolni, az aktuális lépésszám és a Motion property által meghatározott méretben és pozícióban.

Bitmap effektek cikksorozat