Delphi - TCheckBoardEffect komponens

Bitmap effektek 3. rész

forráskód letöltése

A képet felosztjuk vízszintesen és függőlegesen egyenlő méretű téglalapokra. Az egyes téglalapokat valamelyik irányból elindulva fokozatosan jelenítjük meg úgy, hogy minden második sort, vagy oszlopot a téglalap szélességének vagy magasságának felével eltoljuk. A mellékelt példaprogram megnyitása előtt a CheckBoardEffect.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 is.

A téglalapok megjelenítésének irányát a Direction property-vel szabályozhatjuk:
  • cdUp: alulról felfelé;
  • cdDown: felülről lefelé;
  • cdLeft: balról jobbra;
  • cdRight: jobbról balra.
A téglalapok számát vízszintesen a GridSizeX, függőlegesen pedig a GridSizeY property határozza meg. Az animációhoz szükséges lépések száma attól függ, hogy vízszintes, vagy függőleges irányú-e a megjelenítés. Vízszintesen a téglalap szélességét, függőlegesen pedig a magasságát vesszük alapul.

A PrepareBitmap-ban két egybeágyazott ciklussal végigmegyünk a téglalapokon, és kiszámoljuk azok koordinátáit, valamint az aktuális lépésszámból a magasságot illetve a szélességet. Minden téglalapból lépésenként csak egy-egy pixel széles sort, vagy oszlopot rajzolunk meg.



Bitmap effektek cikksorozat