Grafica în turbo pascal

Spre deosebire de modul de text familiar, ecranul în modul grafic este împărțit într-un număr mare de puncte, fiecare dintre acestea poate avea o anumită culoare. Punctele sunt considerate egale și dreptunghiulare, toate sunt strânse „stivuite“ de pe ecran, care este, pentru fiecare punct puteți specifica de rândul și coloana care este. Non rânduri și coloane în modul de grafică este utilizat ca coordonatele punctului, prin urmare, coordonatele sunt întotdeauna numere întregi. În modul de grafică, originea se află în colțul din stânga sus al ecranului, axa x este îndreptată spre dreapta, axa y puncte în jos.







Rețineți că există diferite moduri grafice, ele diferă în numărul de puncte în plan orizontal și vertical (rezoluție) și numărul de culori posibile, de exemplu, 320 x 200 x 16, 640 x 480 x 16, 640 x 200 x 16, 800 x 600 x 256 și așa mai departe. n.

Toate instrumentele pentru lucrul cu grafica sunt conținute în modulul grafic standard. așa că va trebui să fie menționat după ce cuvântul folosește.

1. Activați sau dezactivați modul grafic.

Pentru a activa modul grafic, utilizați procedura InitGraph (driver.module.path) pentru a descrie scopul parametrilor săi:

De obicei, pentru a activa grafice, vom folosi InitGraph în această formă:

const gpath = 'Y: \ WIN_APPS \ BP \ BGI'

var gd, gm: întreg;

Pentru a finaliza lucrul cu grafica și pentru a ieși în modul text, se folosește procedura CloseGraph.

2. Construirea de imagini elementare

Sistemul de coordonate când lucrați cu grafica are un început (punct (0,0)) în colțul din stânga sus al ecranului. Axa x este îndreptată spre dreapta, axa y este în jos. Evident, toate punctele de pe ecran au coordonate întregi.







La construirea celor mai simple elemente de imagine, se folosesc următoarele proceduri și funcții:

Toate desenul dat mai sus procedură se efectuează numai desene de contur (nu pictura peste un dreptunghi, cerc sau elipsă interior). Desenul implicit este realizată folosind o linie solidă subțire, dar grosimea și tipul liniei poate fi modificată prin procedura SetLineStyle (stil. Model. Lățime. Word). Luați în considerare în scopul parametrilor procedurii.

1. stil - vizualizarea liniei. Aici este convenabil să specificați nu numere specifice, ci constante: SolidLn. DottedLn. CenterLn. DashedLn. UserBitLn. Prima este o linie solidă, următoarele trei sunt diferite tipuri de linii întrerupte, ultima este o linie, tipul căruia este determinat de utilizator (vezi mai jos).

2. model - o mostră pentru tipul de linie definit de utilizator. Acest parametru are efect numai când UserBitLn este specificat în cel precedent. Un model este un fragment de linie, dat ca număr. Trecerea de la un anumit fragment la un număr este efectuată, de exemplu, după cum urmează:

Cel mai convenabil mod de a transfera numărul respectiv în formă hexazecimal, în acest exemplu, a primit $ la 999 fragment C. va fi repetat ori de câte ori este necesar Când contactul codată linia de imagine.

3. lățimea - grosimea liniei. Puteți utiliza numere, dar 2 constante sunt definite: NormWidth și ThickWidth (linii normale și groase).

Să ne acum forme pline. În mod implicit, zona internă a cifrelor vor picta peste alb, cu umbrire pentru a fi solid. Pentru controlul și umbrire vederi de culoare SetFillStyle utilizate (stil de cuvânt de culoare ..) Procedură; Precum și pentru stilul de linie pentru stilul prevede constant: EmptyFill, SolidFill, LineFill, LtSlashFill, SlashFill, BkSlashFill, LtBkSlashFill, HatchFill, XHatchFill, InterleaveFill, WideDotFill, CloseDotFill, UserFill. Prima se referă la lipsa de umbrire, al doilea - un solid, următoarele - diferite tipuri specifice de umbrire, ultima - umbrire dat de utilizator. Pentru a configura o umplere model personalizat, trebuie să utilizați procedura SetFillPattern (model: FillPatternType; Culoare: Word); FillPatternType definit ca matrice [1..8] de octet. fiecare element de matrice codifică o probă linie de umbrire (ca pentru liniile) și toate aceste linii 8. Ca rezultat, umbrire se realizează cu ajutorul acelorași 8 x 8 patrate.

Mai jos sunt procedurile pentru desenarea formelor pline.







Articole similare

Trimiteți-le prietenilor: