Constructii de obiecte grafice

Introducere în grafica

conectarea grafică

MDPA, CGA, Hercules, Olivetti, EGA, VGA sau adaptoare mcGA

CGA, VGA, EGA, sau adaptoare mcGA

Hercules, Olivetti sau adaptoare ATT

adaptoare EGA sau VGA

EGA sau VGA adaptor, numai monitoare monocrome

adaptoare VGA sau mcGA

nbsp nbsp nbsp nbsp nbsp ciudat - pentru un motiv necunoscut pentru mine, nu există moduri de 5 și 6. Bine. Principalul lucru este că cel mai bine este de a utiliza un număr de 12 mod - el este cel mai bun cu privire la caracteristicile, cu toate că rezoluția ecranului nu este de ajuns pentru noi. Pentru ca noi să fim, dar pentru BASIC - doar dreptul! Operatorul SCREEN 12 este de dorit să se pună în primele rânduri ale programului, deși puteți configura programul, astfel încât modul de grafică este activat în timpul programului (IF. apoi selecționa 12), atunci când este necesar. Aici setarea modul de grafică în Pascal Nu înțeleg complet. Încă nu-mi amintesc cum se instalează în mod corespunzător, chiar și într-un caiet am scris.

nbsp nbsp nbsp nbsp nbsp Acest fragment de program inițializează modul de grafică în Pascal, după ce puteți începe să „trage“. Apropo, CloseGraph „închide“ modul de grafică de operator, este posibil să se scrie, dar nu se poate scrie.

nbsp nbsp nbsp nbsp Și nbsp decât să desenezi ceva? Nu-cursor dreapta? Nu primitivelor grafice - linii, cercuri, dreptunghiuri, etc. Deci, ce mai așteptăm? Picioare în mână - și du-te!

Primitive: puncte

nbsp nbsp nbsp nbsp nbsp Prima dintre primitivelor grafice - acesta este punctul. Pentru "vopseaua" este folosit în operatorul punct PSET BASIC cu următoarea sintaxă: PSET (X, Y), C - X - coordonata X, Y - coordonata Y, C - punctul de culoare. După aceasta, operatorul pune punctul interpret (pixeli) de culoarea specificată în coordonatele specificate (nu uitați că axa Y este în jos?). Pascal punct când operatorul "PutPixel (X, Y, C);" atrage. Apropo, aici este un tabel de culori standard - și în Basic și Pascal este surprinzător identic (doar 16 bucati!):

nbsp nbsp nbsp nbsp nbsp De asemenea, trebuie să spun câteva cuvinte despre setarea culoarea de fundal negru arata oarecum sumbru. Culoarea de fundal este setată declarația de culoare (care, de altfel, este dat, de asemenea, culoarea textului). El scrie: "tsvet_teksta COLOR, tsvet_fona".

nbsp nbsp nbsp nbsp Unul nbsp puncte doar ca nimic nu va atrage (desigur, puteți încerca, dar asta e cât de mult timp va dura?), Așa că vom merge mai departe.

Primitive: segmente și dreptunghiuri

nbsp nbsp nbsp nbsp nbsp „De ce sunt aceste două primitive în aceeași secțiune“ - vă întreb. Este simplu - în BASIC, pentru a desena pryamougolnk, puteți seta cele două colțuri opuse prin stabilirea coordonatelor de la sfârșitul și începutul segmentului. Astfel, pentru a desena un segment în BASIC nevoie de un operator de LINE. El a scris: "LINE (X1, Y1) - (X2, Y2), C". Cred că este clar - în prima paranteza coordonatele de la începutul segmentului, iar pe de altă parte - de capăt; C - culoare. BASIC trage o simplă tăietură de o anumită culoare. Dar dacă pui litera B (nu în limba rusă, și b, desigur!), Separate prin virgula după culoarea, vom tăia o diagonală a dreptunghiului. Acum, ecranul va fi un dreptunghi și diagonalele sale nu vor fi vizibile. Desigur, o parte din noul dreptunghiului sunt paralele cu ecran.

Budde atent cu coordonatele diagonală! Amintiți-vă că setați coordonatele diagonală și laturile dreptunghiului coordonatelor nu este! Doar destul de des, de multe face o astfel de greșeală.

nbsp nbsp nbsp nbsp nbsp Oh, dacă în loc de „B“ a pus „BF“, noul dreptunghi va fi vopsit. LINE (X1, Y1) - (X2, Y2), C, BF - C este tras umbrită culoare dreptunghi diagonală cu coordonatele X1, Y1 și X2, Y2. Și dacă doriți să dau cu laturile de ecran neperellelnymi, face o secvență simplă linie de declarații, fără nici o B acolo în special BF. (:

nbsp nbsp nbsp nbsp nbsp Pascal desenăm segmente și dreptunghiuri de doi operatori diferiți - Line și dreptunghi. Dar vă voi spune în primul rând, nu despre ele. Operatorul setcolor vă permite să setați culoarea curentă, care este stabilită în paranteză - „setcolor (C);“. Nu uitați să puneți această declarație înainte de a trage ceva. Să ne întoarcem la oile noastre. Între paranteze după ce operatorul de linie pune toate coordonatele - începutul și sfârșitul - o virgulă - „Linia (x1, y1, x2, y2);“. Cu operator de dreptunghi - aceeași poveste - "dreptunghi (x1, y1, x2, y2);" - în paranteze - coordonatele diagonala. Asta este! Dă-i drumul.

Primitive: Cercuri și elipse de la arce

nbsp nbsp nbsp nbsp nbsp Deci, desena un cerc. Și atragem operatorul lor de cerc. De bază - "CIRCLE (x, y), r, c", în pascal - "Circle (x, y, r);". După cum ați înțeles deja, x și y - coordonatele centrului cercului, r - raza, c - culoarea naturala (nu uita despre setcolor în Pascal?). De exemplu, vom scrie ca: „CERC (100248), 75, 4„- BASIC desena cerc roșu cu centrul la (100.248), raza de 75 de puncte (pixeli). Cred că această problemă nu va apărea. Acum trebuie să înțelegem elipsei. Aici traseul de bază și Pascal diverg. Prima Elipsa este definită în același cerc declarație (în același timp, spune despre rata de compresie, care este egal cu Y raza în funcție de raza X. Aceasta este, în general, și să-i spun nimic mai mult.) - „CIRCLE (X, Y), R , C K „. - ca întotdeauna - X și Y - coordonatele centrului, R - raza cercului (! cum ar fi fost principal), C - culoare și K - valoare a raportului de compresie (aici funcționează ca două rază - vezi mai sus). Deci, să înțeleagă în același timp și cu trei virgule lishimi care vin de la aparent nicăieri. Dar, de fapt, în cazul în care - printre care puteți introduce începutul și sfârșitul arc (colțuri - orice arc începe și se termină cu anumite unghiuri). Mergem mai întâi - "CIRCLE (X, Y), R, C, a, b, K" - totul rămâne în loc, doar a și b - acestea sunt unghiurile de începutul și sfârșitul arcului. Practica cu acest operator, introduceți toți parametrii.

nbsp nbsp nbsp nbsp nbsp Pascal, după cum am spus, elipsele sunt desenate în mod diferit. "Formula" elipsă în pascal: "elipsă (X, Y: integer; StAngle, EndAngle, Xradius, Yradius: Word);" - X și Y - coordonatele centrului, Integer - întreg, StAngle - start unghiul (arc), EndAngle - unghi finit (din nou - pentru arc), Xradius și Yradius - elipsă radiuchy (ultimele patru valori de tip Word - întreg fără semn). Din nou, practica cu construirea de cercuri, arce, și elipse. Practicat? Dă-i drumul.

nbsp nbsp nbsp nbsp Cu Primitive nbsp cum ar fi înțeles. Dar unele linii de afaceri nu se va face. Să învețe să le picteze. Astfel, în umbrire operatorului BASIC - o „PAINT (X, Y), C1, C2“ - unde X și Y - reprezintă coordonatele de umplere, care se afla in interiorul conturului este vopsită; C1 - culoarea umpluturii, și C2 - culoarea circuitului real. Și aici este regulile de umplere:
  • Conturul trebuie să fie închis, în caz contrar vopseaua pe întregul ecran - „scurgere de vopsea“
  • Conturul trebuie să fie o singură culoare. În cazul în care circuitul este de cel puțin un pixel nu este culoarea care este setat, calculatorul îl va înțelege ca o pauză și din nou - vopsea pe întregul ecran.
  • Koordinatry umbrire trebuie să se afle în interiorul conturului.
nbsp nbsp nbsp nbsp nbsp Da, este recomandat pentru a picta conturul imediat după narisovanna. Uneori, doar trage mai întâi toate circuitele, și apoi face umbrire - dar nu conduce întotdeauna la rezultatul dorit. De asemenea, în cazul în care punctul este indicat între paranteze, a lovit circuitul, nimic nu este vopsit. Dacă nu sunteți sigur în cazul în care pentru a pune punctul de umplere, este mai bine pentru a pune un punct PSET în locul în care doriți să picteze zona, iar apoi a se vedea dacă acest lucru este într-adevăr un punct în interiorul zonei. Dacă da, atunci mergeți mai departe și să înlocuiască PSET operatorului pentru a picta și vopsea!

BASIC: macro GML limbă

nbsp nbsp nbsp nbsp nbsp specială GML limba macro (Graphics Language Macro) a fost conceput pentru a spori grafica desenați caracteristici în BASIC, care vă permite să construiască imagini destul de complexe și de a le afișa pe ecran. Fiecare echipă este reprezentată de limba latină litera urmată de unul sau doi parametri numerici (de obicei întregi). Aici puteți vedea aceste aceleași litere (pe care echipa!):