Építési vonalak és téglalapok Free Pascal

Építése a vonallánc csúcsok XY tömb pont (n - pontok száma)

A grafikus szerkezetek amelyek akár abszolút koordinátái (x1, y1), (x2, y2), kérték smallint írja be az értékeket a képernyőn koordinátarendszer vagy a lépésekben (dx, dy) tekintetében a helyzet az aktuális pont. Abszolút koordináták lehet negatív. Ez azt jelenti, hogy az egyik pontot grafikusan primitív kívül a képernyő koordinátarács. De látunk egy töredéke a megfelelő grafikus primitív kell építeni. Az, hogy a feladat a szögletes pont a téglalap mereven rögzítve. Point (x1, y1) felel meg a bal felső sarokban a téglalap.

Megnyitása után a grafikus vagy grafikai képernyő tisztító aktuális pont (grafikus kurzor) Ez az eredeti - a bal felső sarokban. Az építőiparban a jelenlegi pont vonal végére mozog a szegmens. Az építkezés egy téglalap nem változik a helyzet az aktuális pont. Ez látható a következő példában (Listing 15.3).

Listing május 1 0,3. CP programban

programot CP; használja grafikon; var

GD: = D8bit; GM: = m800x600; initgraph (gd, GM, „);

LineRel (50,0); readln; closegraph;

A megfelelő grafikus kijelző ábrán látható. 15.4.

Építési vonalak és téglalapok Free Pascal

Ábra. 15.4. Mozgás az aktuális pont

Az egyenes szakaszok és kontúrok a téglalap lehet levonni nemcsak a szilárd vonalak. Alapértelmezésben a grafikus rendszer telepítve van, ezt a módot. Azonban meg lehet változtatni a kapcsolatot SetLineStyle eljárást.

SetLineStyle (Style, Pattern, szélesség);

Stílus az első paraméter általában megadva az alábbi mnemoniche- Sgiach állandók:

± SolidLn - épület szilárd line üzemmódban (alapértelmezés);

± DottedLn - mód építésének a szaggatott vonal;

± CenterLn - módban építésének szaggatott vonallal;

± Dashedln - mód építésének a szaggatott vonal;

± UserBitln - vonalakat üzemmód felhasználói minta.

Az első négy mód Minta paramétert figyelmen kívül hagyja, és lehet cserélni van adva, például nulla. Kinevezése - adja meg a felhasználói sablon van kialakítva, mint egy két bájtos hexadecimális állandók. Szkenneli a mintát balról jobbra. Aki a következő zéró kisülés miatt egy másik pixel A vonalak láthatatlan, és az egység szintjén - látható. Kimerítése után kiüríti bit mintakereső ismétlődik újra. A mintákat standard típusú sorok lejátszásakor az ábrán látható. 15.5. Mivel nem szabványos shab- anyaméhben állandó Pat = $ FFFFFF00 használunk.

A harmadik argumentum adja eljárások SetLineStyle vonalvastagság amelyek MO

Jet egyenlő egy pixel (szélesség = NormWidth) vagy két pixel (szélesség = ThickWidth).

Építési vonalak és téglalapok Free Pascal

Ábra. 15.5. vonalstílusokkal

DrawPoly eljárás építésére szaggatott vonal, amelynek csúcsai határozzák PointType tömb típusú pontok. Ha a koordinátákat az utolsó pont a tömb egybeessen a koordinátáit a kiindulási pont, hogy ilyen módon tudjuk építeni bármilyen sokszög (felsorolja 15,4).

Listing 15.4. programot sokszög

programot sokszög; használja grafikon;

xy: array [1..4] a PointType;

DrawPoly (4, xy); // építmények háromszög

Grafikus kijelző a program ábrán látható. 15.6.

Építési vonalak és téglalapok Free Pascal

Ábra. 15.6. Építése a háromszög

Ábrán látható. 15,1, 15,3-15,6 épített mesterségesen, t. Hogy. Szabvány által meghatározott a rajz módnál az összes grafikai elemek fehér fekete alapon. Ezért az igazi grafikus ablak megfelelő programok kerültek feldolgozásra a Paint kezelés segítségével a színeket választott területen a munka területén.

Az a tény, hogy csábítsák a grafikus képernyő fekete-fehérben nem lehet megoldani egyszerűen megváltoztatja a festék színe (fc: = 0), és a háttér színe (bc: = 15). Ha szerepel a fenti program az eljárás hívása előtt keltik Poly következő két állítás:

SetColor (0); // kódot fekete SetBkColor (15); // kód fehér

tartalmát a grafikus kijelző nem változik. Megpróbálja megmutatni a háttér színét, eltörölve a képernyő tartalma (ClearDevice eljárás) szintén nem jó nem - a képernyő kifehéredik, és színes festéssel, fehér háttér sorok Nem szabad hagyni. Ezért szükséges, hogy megy a „hype” grafikus rendszer: Code Zero színátadást a DAC regisztrálni számos eltérő 0. Ekkor a kijelölt tea színű, mint az előtér színe és változtatni a háttér színét (lásd lista 15.5).

Listing május 1 0,5. Rizo vanie H e molekulatömegű fehér CB

programot poly_B_W; használja grafikon;

xy: array [1..4] a PointType;

GD: = D8bit; GM: = m800x600; initgraph (gd, GM, „);

SetPalette (1,0); // fekete -> 1. DAC regisztrálja SetColor (1); // hozzárendelés színes rajz SetBkColor (15); // változtatni a háttér színét

ClearDevice; // kijelző háttérszíne

DrawPoly (4, xy); readln; CloseGraph;

Ezek után a manipulációk előtt kapcsolati grafikus kijelző, a kimenet egy nyomtatót, ami nem vezet megnövekedett fogyasztása a festék (lásd. Ábra. 15.6).

Kapcsolódó cikkek