osztály tcanvas

Sok tárgyak ingatlan Canvas (vászon, vászon), amely korábban felhívni különböző vonalak: ellipszis, téglalap, stb - a felszínen a tárgy megfelel a háttérben futó feladat tulajdonságait szöveges kimenetet. Canvas ingatlan osztályába tartozik TCanvas, ezért meg kell vizsgálni, segítségre Delphi (röviden) ebben az osztályban.

Módszer alapján TCanvas osztály:

  • eljárás MoveTo (X, Y: Egész szám); - a toll kerül a pontot Coord. X, Y (előtt szükség rajz egyes vonalak, mint például a vonalszakasz - lásd LineTo)
  • eljárás LineTo (X, Y: Egész szám); - tartott egyenesen a pont Coord. X, Y (lásd MoveTo)
  • eljárás Ellipszis (X1, Y1, X2, Y2: Egész szám); túlterhelés Ellipszis. X1, Y1, X2, Y2 - koordinátáit a bal felső és jobb alsó sarkában a leírt téglalap. vagy:
    eljárás Ellipszis (const téglalap: TRect); túlterhelés Téglalap - téglalap (a leírt módon). túlterhelés - túlterhelés a módszer, vagyis a módszer használható ezekkel 2 paraméter erre.
  • eljárás FillRect (const téglalap: TRect); - kitölti (kitölti a háttérben) téglalap téglalap. Háttér tulajdonságok segítségével kell beállítani Canvas.Brush (lásd tulajdonságok, ecset)
  • eljárás Arc (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Egész szám); - egy ellipszis ív.
  • eljárás FloodFill (X, Y: integer; Szín: TColor; fillStyle: TFillStyle); - Töltsük zárt alakzatot típusú TFillStyle = (fsSurface, fsBorder); - ha fillStyle = fsSurface, a Color - a szín a megtöltött formákat, ha fillStyle = fsBorder, a Szín - a színe a határon.
  • eljárás PolyBezier (const pontok: tömb TPoint); - felhívni a spline pontokon keresztül meghatározott Pontsorozatokban.
  • eljárás Téglalap (X1, Y1, X2, Y2: Egész szám); túlterhelés - paraméterek határozzák meg a téglalap (lásd ellipszis)
    eljárás Téglalap (const téglalap: TRect); túlterhelés
  • eljárás RoundRect (X1, Y1, X2, Y2, X3, Y3: Egész szám); - egy téglalap, a sarkok le vannak kerekítve.
  • eljárás TextOut (X, Y: integer; const szöveg: karakterlánc); - megjeleníti a szöveget. X, Y - szerk a bal felső sarokban a téglalap körülvevő szöveget.
Ahhoz, hogy állítsa be a vonal paraméterei használt felhívni ezeket a számokat igényel kötődését Canvas.Pen. Tekintsük az alapvető kommunikációs osztály szigetek TPEN:
  • ingatlan Szín: TColor;
  • ingatlan Stílus: TPenStyle;
    írja TPenStyle = (psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear); - szilárd, szaggatott, és így tovább.
  • ingatlan szélessége: integer; - a vonal vastagságát.

Tulajdonságai alapján TCanvas osztály:

  • ingatlan Brush: TBrush; - (kefe). - Meghatározza a színét és típusát töltés, hogy kitöltse a zárt számok. Aztán - lásd tulajdonságok TBrush osztályban.
  • ingatlan Font: Tfont-ot; - beállítja a betűtípus használt ingatlan TextOut módszerrel (lásd fent).
  • ingatlan Pen: TPEN; - „toll”, ami által használt TCanvas osztály módszerek vonalakat. Ez lehetővé teszi, hogy a tulajdonságok a sorokat. Class TPEN fent leírt.
  • tulajdonság pixel [X, Y: egész szám]: TColor; - Ezzel a St-in, akkor adja meg a színét minden pixel (képpont koordinátákkal megadott X, Y, a referencia pont - a bal felső sarokban a tulajdonos).

Az algoritmus egyszerű animáció

Egyszerű animáció - ez csak egy állandó mozgás a szám (az ábrán) képest a háttérben. Segítségével a tulajdonságok és módszerek egy osztály TCanvas egyszerű animáció, megteheti:
  1. Döntetlen sehol ezt a számot. Legyen a koordinátáit a bal felső sarkában a burkolat (a leírt módon) a téglalap: X, Y, és ez a szám - a téglalap magassága H, szélessége B. Draw lehet, így: canvas.rectangle (X, Y, X + B, Y + H);
  2. Hogy fenntartsák a szünetidőt érzékelik, hogy a szem formája (például 50 ms). Célszerű használni a Timer kompoent, azaz állítsa Timer1.Interval = 50.
  3. Szám törléséhez (akkor újra rajzolni ugyanazon a helyen, a háttér színe, vagy használja FillRect módszer - talán ez gyorsabb)
  4. Change koordinátáit rajz egy kis mennyiségű (például, szurok dx = dy = 2)
  5. Rajzolj egy alak egy új helyre. Azaz a mi négyszög:
    X: = X + dx; Y: = Y + dy; canvas.rectangle (X, Y, X + B, Y + H);
  6. Ismételje meg a 1-5, ez a szám még nem jött el a végállást.
Mindezen intézkedések kell helyezni a test Timer1Timer módszer. Teljes szöveg unit1.pas modul, ami az animáció, és az összes fájlt a projekt letölthető itt

Tudod, hogy az animáció egyszerűbb, ha mozog (helyzetének megváltoztatását) Image objektum, amely egy képet. Ebben az esetben, akkor nem kell aggódnia, törlése és festés. Akkor csak meg kell változtatni a koordináta, szünet, stb Például, lehetséges, hogy változtassa meg a TIR projekt. (Cserélje hozzárendelése véletlen számokat koordináták - számok folyamatosan változnak, leírja a pálya mozgás).