Grafikus képességek delphi animáció, képek, delphi, komponensek használata

Az animációt általában mozgó és változó képnek tekintik. A legegyszerűbb esetben a kép csak elmozdulhat vagy csak megváltoztatható.

Mint a fentiekből kiderül, a minta kialakítható grafikai primitívek (vonal, kör, rét, sokszögek, és így tovább. D.). Ellenőrizze, hogy a mozgás mintázat meglehetősen egyszerű: először meg kell megjelenítési mintát a képernyőn, akkor egy idő után törölni, és újra megjelenítéséhez ugyanazt a képet, de egy bizonyos távolságra az eredeti helyére. Kiválasztásával az idő és a terminál között eltávolítja a mintát, és a távolság a régi és az új helyzetben a képet (elmozdulás lépés), lehetséges, hogy a megfigyelő a benyomást kelti, hogy a kép mozog a képernyőn egyenletesen.

A következő egy egyszerű program, amelynek szövegét a 10.8. Listában mutatjuk be, és az űrlapot az 1. ábra mutatja. 10.15, mutatja a kör mozgását a programablak balról jobbra határoló szegélyére.

Ábra. 10.15. Programozási forma Mozgó kör

10.8. Mozgó kör

01. egység mcircle;

04. Windows, Üzenetek, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;

06. TForml = osztály (TForra)

07. Timer1: TTimer;

08. eljárás TimerlTimer (Sender: TObject);

A fő munkát a RIS eljárás végzi, amely törli a kört és új helyre teszi. A kör törlését úgy végezzük, hogy a kört átfestjük a rajzolt, de a háttérszínen.

A Ris eljárás rendszeres hívásának biztosítása érdekében a komponens paletta Rendszer lapján egy nem látható időzítő összetevő (időzítő) kerül hozzáadásra a program űrlapjához (lásd a 10.16. Ábrát). Az időzítő összetevő tulajdonságait a táblázat tartalmazza. 10.9.


Az Időzítő összetevő azonban a szokásos módon kerül hozzáadásra a formanyomtatványhoz, mivel az Időzítő összetevő nem látható, vagyis amikor a program nem jelenik meg az űrlapon, ikonja bárhol elhelyezhető az űrlapon.

Az időzítő összetevő egy OnTimer eseményt generál. Az OnTimer eseményfázist milliszekundumban méri, és az intervallum tulajdonság értéke határozza meg. Figyeljen az Engedélyezett tulajdonságra. Lehetővé teszi a program számára, hogy "elindítsa" vagy "állítsa le" az időzítőt. Ha az Engedélyezett tulajdonság értéke False, akkor az OnTimer esemény nem fordul elő.

A vizsgált program OnTimer eseményét a TimeriTimer rutin kezeli, amely a Ris eljárást hívja. Így a program végrehajtja a Ris eljárás időszakos felszólításának mechanizmusát.

Megjegyzés: Az x, y változók (a kör közepének koordinátái) és a dx (az x koordináták növekménye, amikor a kört mozog) a Ris eljáráson kívül jelennek meg, vagyis globálisak. Ezért ne felejtsük el inicializálni őket (a program inicializálja a globális változókat az FormActivate eljárással).

Alappont módszer

Komplex képek programozása, amelyek egy sorból állnak

elemeket használunk, a bázispont módszer használatával.

A módszer lényege a következő:

Ha több elemből álló komplex képeket programozunk, a bázispont módszer használatával történik az eljárás.

A módszer lényege a következő:

  1. A kép bizonyos pontját választja ki, amely a bázispontként szerepel.
  2. A fennmaradó pontok koordinátáit a bázisponttól számolják.
  3. Ha a képpontok koordinátáit a bázisról a relatív egységekben, nem pedig képpontokban méri, akkor a kép méretezhető.

Az 1. ábrán. A 10.17 ábra a hajó képét mutatja. A bázispont a koordináták pontjával (x0, y0). A fennmaradó pontok koordinátáit ebben a pontban számolják.

Ábra. 10.17. A kép koordinátáinak meghatározása a bázisponthoz képest

A 10.9-es lista mutatja a program szövegét, amely megjeleníti az összekötő hajó képét.

10.9. nautilus

A hajó képének rajzolása és törlése a Titanik eljárást hajtja végre, amely paraméterként a bázispont koordinátáit és a hajó képe által felvázolt színt veszi át. Ha a szín eltér az űrlap háttérszínétől az eljárás hívásakor, akkor az eljárás felhívja a hajót, és ha megegyezik, akkor "törli". A Titanik eljárásban definiálják a dx és dy konstansokat, meghatározva a képpontok koordinátáinak kiszámításához használt lépést (pixelben). Ezeknek a konstansoknak az értékével megváltoztathatja a képet.

Bitmaps használata

Az előző példában a kép grafikus formában jött létre

mitivov. Most fontold meg, hogyan hajthatja végre az egyik mozgását

összetett kép a háttérben egy másik, például,

a városi táj hátterében.

A mozgóképek hatása rendszeres időközönként hozható létre

egy kép átrajzolása bizonyos előítéletekkel a korábbiakhoz képest

helyzetbe. Feltételezzük, hogy a kép megjelenik az újonnan

Az előző példában a kép grafikus primitívekből jött létre. Most fontold meg, hogyan hajthatja végre a monosüvélyes kép mozgását a másik hátteréhez, például egy repülőgép mozgatását a városi táj hátterében.

A kép mozgatásának hatása úgy hozható létre, hogy időnként átfestik a képet egy bizonyos eltolódással az előző helyzethez képest. Feltételezzük, hogy mielőtt törölnénk egy képet egy új pontban, az előző képet először töröljük. A kép törlése elvégezhető az egész háttérkép vagy annak csak a mozgó objektum bitképének blokkolásával.

A program formája az 1. ábrán látható. 10.18, és a szöveg szerepel az SHL listában.

A képelemet a háttér kinyomtatására használják, és az időzítő összetevőt a törlési ciklusok és a kimenet közötti késleltetés megszervezésére használják a repülőgép képének új helyére.

10.10. Repülő repülőgép