Grafic în pascal

Indiferent ce imagini aveți pe ecran, acestea sunt toate construite din puncte.

Procedura PutPixel (X, Y: integer; Culoare: cuvânt); afișează un punct pe ecran, unde X și Y sunt coordonatele ecranului punctului. Culoarea este culoarea sa.







Iată un exemplu de program care, atunci când este executat, creează un efect vizual interesant prin completarea ecranului cu un set de puncte de culori diferite.

Var Driver, Mod. întreg; Culoare: cuvânt;

X, Y: cuvânt; Procedură GrInit;

Dacă GraphResult<>0 apoi începe

Writeln ("Eroare de inițializare!");

Writeln ("Activitatea programului este întreruptă");

Culoare: = 0; Randomizează; repeta

Dacă Color = GetMaxColor Apoi Color: = 0;

Până la KeyPressed;

Afișarea segmentelor de linie dreaptă

Procedura liniei (Xl, Yl, X2, Y2: întreg); afișează un segment de linie pe ecran. Aici (X1, Y1) sunt coordonatele punctului inițial, a (X2, Y2) sunt coordonatele punctului final al segmentului.

Pentru construirea segmentelor se pot folosi și următoarele proceduri:

LineTo (X.Y); - trage un segment de la punctul curent la punct cu coordonatele (X, Y);

LineRel (dX, dY |; - segmentul de conducție din punctul curent la punctul de îndepărtat de acesta printr-o distanță () linii dX, dY pot trasa o mare varietate de stiluri: punctată punctată procedură subțire, larg,, etc. SetLineStyle (...<тип линии> : cuvânt;. cuvânt (grosimea liniei): cuvânt); produce un set de stil. Constantele tipului de linii și grosimea lor sunt date în tabel.

Dacă tipul liniei nu este egal cu UserBitLn. parametrul "model (template)" este utilizat și este setat în mod obișnuit la zero, de exemplu SetLineStyle (0,0, 3) - linia de stil - solid, bold.

Grafic în pascal

program elka;
utilizează grafic;
var
grDriver: întreg;
grMode: întreg;
începe
grDriver: = Detectați;
InitGraph (grDriver, grMode, '');
setbkcolor (14);
SetColor (0);
lineTo (100,250);
SetColor (6);
lineTo (100,275);
lineTo (150,275);
lineTo (150,250);
SetColor (2);
linie (125,25,75,100);
linie (75,100,175,100);
linie (175, 100, 125, 25);
linie (125, 100, 50, 175);
linie (50, 175, 200, 175);
linie (200,175,125,100);
linie (125,175,25,250);
linie (25, 250, 225, 250);
linie (225, 250, 125, 175);
readln;
end.

Procedură dreptunghi (X1, Y1, X2, Y2: întreg); construiește o imagine a unui dreptunghi în avion. Aici XI, Y1 sunt coordonatele colțului superior stânga, X2, Y2 sunt coordonatele colțului din dreapta jos al dreptunghiului. Se utilizează culoarea curentă (SetColOf) și stilul de linie (SetLineStyle). Zona din interiorul dreptunghiului nu este umbrită și coincide în culoare cu fundalul.

Procedura Bar (Xl, Yl, X2, Y2: întreg); vă permite să construiți dreptunghiuri mai eficiente. Ea trage un dreptunghi, a cărui suprafață interioară este umplută cu modelul actual. Acesta este frecvent utilizat în graficul de afaceri la bar grafic și pentru a „umple“ fereastra grafica, astfel încât fundalul ferestrei grafice nu a fost îmbinată cu fundalul general al ecranului.







Luați în considerare cum să "umpleți" zonele închise ale ecranului cu modele diferite, adică cum să alegeți un model (model) și culoarea umplerii figurii.

O combinație de tipar-culoare este denumită în mod obișnuit stilul de umplere.

Procedura SetFillStyle (<шаблон>: cuvânt;<цвет>: cuvânt); stabilește șablonul și culoarea umplerii formei închise.

În tabel sunt prezentate constantele modelelor de umplere.

Pictura definită de programator

Procedura FloodFill (X, Y: integer; Border: word); Umple zona delimitată cu stilul actual de culoare și umplere (SetFillStyle). Granița zonei care urmează să fie vopsită este evidențiată de culoarea specificată în Border.

Dacă punctul (X, Y) se află în interiorul zonei, atunci această zonă este vopsită, dacă este situată în afara zonei, atunci partea exterioară a regiunii este umplută.

Grafic în pascal

program dom;
utilizează grafic;
var
grDriver: întreg;
grMode: întreg;
începe
grDriver: = Detectați;
InitGraph (grDriver, grMode, '');

<Рисование прямоугольников>
dreptunghi (25,75,100,150);
dreptunghi (100,75,225,150);
dreptunghi (50,100,75,150);
dreptunghi (150, 100, 175, 125);

Construirea arcurilor, elipselor și cercurilor

Procedură Arc (X, Y: întreg; al, a2, R: cuvânt); construiește un arc. Aici, (X, Y), centrul arcului de cerc, al, a2 - unghiurile inițiale și finale măsurate pe axa orizontală spre stânga, R-gama. Dacă al = 0 o. și a2 = 360 °, atunci este tras un cerc complet.

Procedura Ellipse (X, Y: integer; al, a2, Rx, Ry: cuvânt); este destinat construirii arcurilor eliptice. Aici, (X, Y) a centrului elipsei, al, a2 - unghiurile inițiale și finale măsurate pe axa orizontală în sens antiorar, Rx și Ry - axa orizontală și verticală. Dacă al = 0 ° și a2 = 36 °, atunci este extras un ELLIPSE FULL.

Procedura FillEllipse (X, Y: integer; Rx, Ry: word); construiește o elipsă complet pictată.

Cerc de procedură (X, Y: întreg; R: cuvânt); afișează o imagine a cercului cu centrul (X, Y) și raza R. Cercul este desenat de culoarea specificată de SetColor.

Procedura PieSlice (X, Y: integer; al, n2, R: cuvânt); Se afișează o imagine a unui sector de cerc umplut de centrul cercului și un punct (X, Y), unghiul inițial al, a2 și raza sectorului unghiului final R. este afișat Conturul culoarea curentă. La umplerea sectorului, se utilizează șablonul și culoarea setată de procedura SetFillStyle. Dacă al = 0 ° și a2 = 360 °, atunci pe ecran apare un cerc umbrat.

Sectorul de proceduri (X, Y: întreg; al, a2, Rx; Ry: cuvânt); construieste sectorul umbros al elipsei.

PROGRAM MASHINA;
Utilizează grafic;
var
grdriver: integer;
grmode: integer;
începe;
grdriver: = detectați;
Initgraph (grdriver, grmode, 'c');
dreptunghi (120,90,160,120);
setcolor (7);
dreptunghi (160,120,240,160);
setcolor (8);
linia (120, 120, 70, 120);
linia (70, 120, 80, 160);
linie (80, 160, 160, 160);
setcolor (2);
cerc (110.160.25);
setcolor (5);
cerc (200, 160, 25);
setcolor (5);
linie (50,80,20,120);
linia (20, 120, 80, 120);
linia (80,120,50,80);
linie (50, 120, 20, 160);
linie (20, 160, 80, 160);
linie (80, 160, 50, 120);
readln
Sfârșit.

program snegoviki;
utilizează grafic;
var
i, j, x, y: întreg;
grdriver: integer;
grmode: integer;
începe
grdriver: = detectați;
initgraph (grdriver, grmode, 'c');
x: = 50; y: = 30;
pentru i: = 1 până la 10 nu
începe
pentru j: = 1 la 10 nu
începe
setcolor (albastru);
cerc (x, y, 10);
cerc (x, y + 30,20);
cerc (x, y + 80,30);
cerc (x-30, y + 30,10);
cerc (x + 30, y + 30,10);
setcolor (5);
linia (x, y-5, x + 15, y);
linia (x, y + 5, x + 15, y);
setcolor (alb);
linia (x-5, y + 5, x + 5, y + 5);
putpixel (x-5, y-5, alb);
putpixel (x + 5, y-5, alb);
putpixel (x, y + 20, alb);
putpixel (x, y + 30, alb);
putpixel (x, y + 40, alb);
putpixel (x, y + 60, alb);
putpixel (x, y + 70, alb);
putpixel (x, y + 80, alb);
putpixel (x, y + 90, alb);
putpixel (x, y + 100, alb);
setcolor (3);
linia (x-5, y-10, x + 5, y-10);
linia (x + 5, y-10, x, y-20);
linia (x, y-20, x-5, y-10);
x: = x + 90;
se încheie;
y: = y + 160; x: = 50;
se încheie;
readln
end.







Articole similare

Trimiteți-le prietenilor: