Mijloace grafice ale limbajului Pascal

1. PROCEDURĂ InitGraph (VAR GraphDriver, GraphMode: Integer; PathToDriver: STRING); - această procedură inițializează modul grafic, adică comută monitorul de la modul text la grafic. Toate procedurile și funcțiile grafice pot fi executate numai în modul grafic. Înainte de a apela InitGraph, primul argument trebuie să fie setat la DETECT (constantul descris în modulul Graph). PathToDriver este un șir care conține calea spre fișier - driverul grafic, pentru monitoarele de la EGA la SVGA este fișierul EGAVGA.BGI. Driverele grafice sunt întotdeauna conținute în directorul în care se află Turbo Pascal (de obicei în subdirectorul BGI). Puteți găsi acest fișier pe disc, iar în program setați corect calea spre acesta, de exemplu "D: \ TP \ BGI", sau dacă aveți acest fișier în directorul de lucru, atunci calea este dată de o linie goală. Dacă nici nu este făcut, modul grafic nu va fi inițializat.

2. PROCEDURA CloseGraph; - Închide modul grafic.

3. FUNCȚIA GetMaxX. integer; .

4. FUNCȚIA GetMaxY. integer; - returnează numărul pixelului cel mai de jos și cel mai jos al ecranului. Pixelii sunt numerotați de la 0 la GetMaxX de la stânga la dreapta și de la 0 la GetMaxY de sus în jos. Rezoluția ecranului grafic depinde de tipul monitorului și de modul grafic selectat. De exemplu, pentru un monitor VGA, rezoluția maximă este de 640 '480, adică GetMaxX returnează 639, iar GetMaxY returnează 479.

5. PROCEDURE SetBkColor (Culoare: Word); - setarea culorii de fundal, după executarea ei întregul ecran va fi vopsit în culoarea Culoare. Paleta de culori depinde, de asemenea, de tipul de monitor și de modul grafic selectat, dar paleta standard pentru un monitor color include 16 culori:

0 - Negru 1 - Albastru 2 - Verde 3 - Cyan

4 - Roșu 5 - Magenta 6 - Brown 7 - LightGray

8 - DarkGray 9 - LightBlue 10 - LightGreen 11 - LightCyan

12 - LightRed 13 - LightMagenta 14 - Galben 15 - Alb

Numele furnizate sunt numele constantelor descrise în modulul Graph; le puteți utiliza sau numere de culoare.

6. PROCEDURE SetViewPort (x1, y1, x2, y2: Integer; Clip: Boolean); - instalează o fereastră grafică. x1, y1, x2, y2 sunt coordonatele colțurilor superioare din stânga și din dreapta jos ale ferestrei. După efectuarea acestei proceduri, pixelii vor fi contorizați din colțul din stânga sus al ferestrei. Parametrul logic Clip determină dacă se vor trunchia imagini pe marginea ferestrei. Nu este necesar să efectuați această procedură, în mod prestabilit, fereastra grafică ocupă întregul ecran.

7. PROCEDURA ClearDevice; - vopseste ecranul cu culoarea de fundal.

8. PROCEDURA PutPixel (X, Y: Integer; Culoare: Word); - vopseste pixelul cu coordonatele X, Y cu culoarea Culoare.

9. FUNCȚIA GetPixel (X, Y: Integer): Word; - returnează culoarea pixelului cu coordonatele X, Y.

10. PROCEDURĂ SetColor (Culoare cuvânt); - setarea culorii liniei, toate liniile afișate pe ecran vor avea culoarea Culoare înainte de următoarea procedură SetColor.

11. PROCEDURE SetLineStyle (LineStyle, Pattern, Grosime: Word); - stabilește stilul liniei, se aplică tuturor liniilor de ieșire înainte de a executa SetLineStyle cu alte argumente. Parametrul LineStyle poate lua următoarele valori:

0 - SolidLn - linie solidă;

1 - DottedLn - linie punctată;

2 - CenterLn - o linie punctată și punctată;

3 - DashedLn - linie punctată;

4 - UserBitLn - linia specificată de programator.

Dacă stilul liniei este 4, atunci forma liniei este determinată de al doilea parametru al procedurii - Pattern. Grosimea liniei poate avea doar două valori:

1 - NormWidth - o linie subțire;

3 - Grosime largă - o linie groasă.

12. PROCEDURĂ Linia (x 1, y1, x2, y2: Integer); trasează un segment de linie din punctul cu coordonatele x1, y1 până la punctul x2, y2.

13. PROCEDURE MoveTo (x, y: Integer); - Mută ​​cursorul grafic în punctul x, y. Cursorul grafic nu este vizibil pe ecran, dar un număr de proceduri utilizează poziția curentă a cursorului grafic.

14. Procedura LineTo (x, y: Integer); - trage un segment din punctul curent (poziția curentă a cursorului grafic) la punctul x, y.

15. PROCEDURE MoveRel (Dx, Dy: Integer) - Mută ​​cursorul grafic pe Dx orizontal și pe Dy pe verticală.

16. PROCEDURĂ LineRel (Dx, Dy: Integer); - Desenează un segment de la punctul curent până la punct cu compensarea Dx, Dy.

17. FUNCȚIA GetX: Integer; și

18. FUNCȚIA GetY: Integer; - returnați coordonatele curente ale cursorului grafic.

19. PROCEDURĂ dreptunghi (x1, y1, x2, y2: întreg); - Desenează un dreptunghi, x1, y1 - coordonatele colțului din stânga sus, x2, y2 - coordonatele colțului din dreapta jos.

20. PROCEDURĂ Cerc (X, Y: Integer; R: Word); - trasează un cerc cu raza R cu centrul la punctul X, Y.

21. PROCEDURĂ Elipsă (X, Y: Integer; f1, f2, Rx, Ry: Word); - trage un arc de elipsă cu semi-axe Rx, Ry și centru la punctul X, Y de la unghiul f1 la unghiul f2 (unghiurile sunt date în grade).

22. PROCEDURA Arc (X, Y: Integer; f1, f2, R: Word); Trasează un arc cu un cerc de rază R centrat la punctul X, Y de la unghiul f1 la unghiul f2.

23. PROCEDURE SetFillStyle (model, culoare: cuvânt); - Setează metoda de pictură. Parametrul Model poate lua următoarele valori: 0 - EmptyFill - nu vopsiți, 1 - SolidFill - umbrire solidă, 2 - LineFill, 3 - LtSlashFill,

4 - SlashFill, 5 - BkSlashFill, 6 - LtBkSlashFill, 7 - HatchFill, 8 - XHatchFill,

9 - InterleaveFill, 10 - WideDotFill, 11 - CloseDotFill.

24. PROCEDURĂ Bară (x1, y1, x2, y2: Integer); Desenează un dreptunghi umplut utilizând metoda umplerii setată de procedura SetFillStyle.

25. PROCEDURĂ FillEllipse (X, Y: Integer; Rx, Ry: Word); - Desenează o elipsă pictată.

26. PROCEDURĂ Sector (X, Y: Integer; f1, f2, Rx, Ry: Word); - Desenează un sector eliptic plin.

27. PROCEDURA PieSlice (X, Y: Integer; f1, f2, R: Word); - Desenează un sector circular pictat.

29. PROCEDURE SetTextStyle (Font, Direcție, Dimensiune: Word); - setează modul în care este afișat textul. Font - numărul fontului grafic care ia valoarea 0 - DefaultFont. 1 - TriplexFont. 2 - SmallFont. 3 - SansSerifFont.

4 - GothicFont. Zero este standard și este întotdeauna acceptată. Dacă utilizați fonturi de coduri de bare de la primul la al patrulea, trebuie să aveți fișierele cu caractere TRIP.CHR din directorul dvs. de lucru. LITT.CHR. SANS.CHR. GOTH.CHR (aceia dintre ei de care aveți nevoie). Parametrul Direction specifică direcția ieșirii textului (de la stânga la dreapta sau de sus în jos) și ia valorile 0 - HorizDir, 1 - VertDir. Parametrul Dimensiune determină dimensiunea caracterelor și modificările de la 1 la 10.

30. PROCEDURA OutText (S: STRING); - afișează textul pe ecranul grafic folosind coordonatele curente ale cursorului grafic (procedura WRITE [LN] în modul grafic nu funcționează).

31. PROCEDURĂ OutTextXY (X, Y: Integer; S: STRING); - afișează textul pe ecranul grafic folosind coordonatele X, Y.

32. PROCEDURA SetTextJustify (Horiz, Vert: Word); - Setează modul în care este poziționat textul. Parametrul Horiz poate lua valori:

0 - LeftText - stânga,

1 - CenterText - în mijlocul textului,

2 - RightText - pe partea dreaptă.

Parametrul Vert poate lua valori:

0 - BottomText - pe marginea de jos,

1 - CenterText - în mijlocul textului,

2 - TopText - în partea de sus.

Nu neglijați această procedură dacă doriți să afișați cu exactitate subtitrările în desen.

33. FUNCȚIE TextWidth (S: STRING): Word; - Returnează lungimea textului în pixeli.

34. FUNCȚIE TextHeight (S: STRING): Cuvânt; - returnează înălțimea textului în pixeli.

36. PROCEDURA SetActivePage (Pagina. Word); - setează pagina grafică curentă, unde va fi trimisă întreaga ieșire. Ultimele două proceduri pot fi folosite pentru a crea animație.

0 - 640 '200, 4 pagini,

1 - 640 '350, 2 pagini,

2 - 640 '480, 1 pagină.

Condițiile denumite pentru modurile grafice sunt de asemenea descrise în modulul Graph; Deci, pentru modurile de mai sus este: VGALo, VGAMed, VGAHi.

38. FUNCTION GetGraphMode. integer; - Returnează modul grafic instalat.

39. PROCEDURE RestoreCrtMode; - setează modul text al monitorului. Această procedură împreună cu SetGraphMode pot fi utilizate pentru depanarea programelor grafice. Să presupunem că am scris, dar nu am depistat încă programul grafic. Vrem să afișăm unele informații calculate pe ecran pe ecran, dar este destul de dificil să folosim procedura Output pentru ieșire. Organizăm programul nostru după cum urmează:

40. FUNCȚIE GraphResult: Integer; - returnează codul pentru finalizarea ultimei operații grafice; dacă acest cod este grOK (= 0), operația a avut succes, altfel a apărut o eroare.

Pentru a demonstra unele dintre capabilitățile grafice ale limbajului Pascal, vom scrie un program care atrage un grafic al funcției cos2x pe intervalul [0,6p].

CONST ScreenColor = DarkGray;

Articole similare