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.
- 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:- 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);
- 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.
- 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)
- Change koordinátáit rajz egy kis mennyiségű (például, szurok dx = dy = 2)
- 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); - Ismételje meg a 1-5, ez a szám még nem jött el a végállást.
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).