A tartalom eléréséhez kérjük, lépj be!
Kezdd itt
Szavas kereso
Szint kereso
Top 10 feltöltő

Top 10 feltöltő


Grafikai elemek programozása Turbo PASCAL-ban.

VN:F [1.9.22_1171]
Értékeld
Beküldő: - Szólj hozzá
Szint: - Kedvencekhez
Megnézték:
2691
Nyomtasd
Dátum: 2007-12-20 Küldd tovább
  Letöltés

Grafikai elemek programozása Turbo PASCAL-ban. A grafikus üzemmód,alakzatok rajzolása.

Számítógépünkhöz több féle grafikus kártyát csatolhatunk. Ennek megfelelôen a grafikus üzemmódban a felbontás és színeinek száma (ezek a grafikus kártya legjellemzôbb adatai) eltérôek .

A legismertebb grafikus kártyák :

CGA ( Color Graphics Adapter )
320 * 200 képpont, 16 szín
640 * 200 képpont, 2 szín (Monochrome)
MCGA ( Multi Color Graphics Adapter )
320 * 200 képpont, 256 szín
TANDY
320 * 200 képpont, 16 szín
HERCULES (vagy röviden HERC )
720 * 348 képpont, Monochrome ( 2 szín )
EGA ( Enached Graphics Adapter )
640 * 350 képpont, 16/64 szín
VGA ( Video Graphics Array )
640 * 480 képpont, 16/64/256 szín
800 * 600 képpont, 256 szín (SVGA 512 KB memória)
1024 * 768 képpont, 256 szín (SVGA 1 MB memória)
XGA (eXtended Graphics Array)
Felbontása és színek száma azonos a VGA -val, de sebessége DOS-ban 90%-kal, Windows-ban 50%-kal nagyobb.

A Pascal a 2.0 verzió óta támogatja a grafika kezelését. Akkor csupán egy-két eljárás segítette a programozó munkáját, míg a Pascal 5.5-ben már 79 eljárás illetve függvény hivatott ugyanerre a célra.

Grafikus file-ok :
GRAPH.TPU – graph unit,ez tartalmazza a grafikus eljárásokat ill. függvényeket
*.BGI – ezek tartalmazzák a különbözô grafikus kártyákhoz tartozó grafikus meghajtókat
*.CHR – a grafikus karakterkészletet tartalmazzák

A számítógép kétféle üzemmódot használhat, a karaktereset és a grafikust. Alapértelmezésben a karakteres képernyôt látjuk, melynek a legkisebb egysége a karakter. A grafikus képernyô legkisebb egysége a képpont (pixel). Ahhoz hogy a grafikus képernyôn tudjunk dolgozni elôször is az adatleíró részben meg kell hívni a Graph unitot, aztán inicializálni kell azt,amit az InitGraph (grafikus meghajtó, grafikus mód, az aktuális .BGI file-t tartalmazó könyvtár neve) eljárással tudunk megtenni.

A grafikus meghajtó és a grafikus mód típusát a DetectGraph (graf.megh., graf.mód) eljárással tudjuk lekérdezni. Ha nincs grafikus meghajtó a gépben, akkor grafikus meghajtó= -2 lesz. Ha befejeztük a munkánkat a grafikus képernyôn, akkor a CloseGraph utasítással zárjuk be azt.

Vonalas geometriai alakzatok:

Ezek olyan alakzatok, melyek rajzolásához elegendô egy vonal. Itt lehetôség nyílik az egyenes rajzolási módjának beállítására is (SetLineStyle eljárás).
Vonalrajzoló eljárások a következôk:
Arc – Körív
Circle – Kör
Drawpoly – Polinom
Ellipse – Ellipszis
Line, LineTo, LineRel – Egyenes
Rectangle – Téglalap

Festett geometriai alakzatok:

Ide azok az eljárások sorolandók amelyek körvonala zárt belül pedig egy színnel vagy mintával vannak kitöltve. Létrehozásuk két féle módon történhet: vagy megrajzoljuk a körvonalat,és azt festjük ki (FloodFill eljárás), vagy pedig eleve festett alakzatokat rajzolunk. Ez utóbbit a következô eljárásokkal tehetjkük meg:
Bar – Téglalap
Bar3d – Téglatest
FillEllipse – Ellipszis
FillPoly – Sokszög
Pieslice – Körcikk
Sector – Elipsziscikk

Szöveg a grafikus képernyôn:

Grafikus képernyôre a szöveget másképp kell írni mint a karakteresre. A szöveg pozicionálása pixelenként történik, a kiválasztott pixelhez kilencféle módon illeszthetô a kiíratandó szöveg, amit beállíthatunk a SetTextJustify eljárással. További eljárások:
SetTextStyle: Beállítja az aktuális karakterkészlet típusát és méretét.
SetUserCharSize: A karakter magasságát és szélességét állítja be.
TextHeight: Megadja a szöveg magasságát (pixelben).
TextWidth: Megadja a szöveg szélességét(pixelben).
OutText: Kiírja a megadott szöveget a kurzor aktuális pozíciójától.
OutTextXY: A megadott koordinátájú ponttól írja ki a szöveget.

Az animáció:

A mozgó alakzatok létrehozására is szolgál néhány eljárás. A számítógép a benne lévô grafikus kártyától függôen, több képernyônyi adatot is képes egyszerre tárolni a képernyômemóriában (az általános az 1 vagy 2 képernyôlap).
GetImage: A képernyô megadott részét elmenti egy bufferbe.
PutImage: Képmezõ ráhelyezése a képernyõre.
SetActivPage: Kijelöli azt a képernyôlapot,amelyikre dolgozunk.
SetVisualPage:Láthatóvá teszi az adott grafikus lapot.

Egyébb fontos utasítások :

ClearDevice: Képernyô törlés
SetBkColor: Háttérszín beállítása
SetColor: Irószín beállítása
GetX,GetY: A kurzorpozició lekérdezése
MoveTo: Kurzormozgatás


 

Facebook hozzászólok

Facebook hozzászólók

Hozzászólok

Ha szeretnél hozzászólni, lépj be!


Hozzászólások (1)

    Igen nagy kiterjedésű, grafikus képernyőn (jól) működő, saját felhasználásra szánt műszaki programcsomagot írtam.
    (geodéziai témájú, grafikus adatkezelésű, még perspektiv képfeldolgozás is megoldva). A probléma a belemályedés folytán keletkezett, (kis bolhából nagy elefánt) egyre inkább jöttek az “out of memory” stb. problémák. A másik problémám akkor kezdődött, amikor a gépet lecseréltem (az
    internet miatt WindowsXP), a Turbo Pascal 7.0 grafikus része
    nem futtatható winXP-n. Jelenleg váltogatok a winXP (ott elég a memoria a forditáshoz). A kipróbáláshoz (futtatáshoz)
    elinditom a Win98-at. Ez bizony keservesen lassú ide oda ugrálni. Kisérleteztem a freepascallal is, de sajnos nem
    használható mind arra amire tp7 képes, pl nem tudok grafikus
    képernyőn dolgozni, felrajzol, és kikapcsol.- na ennyit az frp-ről. Megvettem a könyvet is, de grafikával nem is foglalkozik. Tisztelettel Nagy József Adolf, Szeged


Ezt olvastad már?
Elemi programozási tételek V.: metszet, unió

Elemi programozási tételek V.: metszet, unió A metszetképzés tétele Általános...

Close