Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
GRAFIKA W TURBO PASCALU
2
Inicjalizacja trybu graficznego
InitGraph (Sterownik: Integer, Tryb: Integer, Ścieżka: String); sterownik – identyfikator karty sterownika graficznego; tryb – tryb graficzny (rozdzielczość, ilość kolorów); ścieżka – katalog, w którym znajduje się sterownik *.bgi
3
Zakończenie trybu graficznego
Inicjalizacja trybu graficznego cd… DetectGraph(sterownik,tryb); sterownik:=VGA; tryb:= VGAHi; Zakończenie trybu graficznego CloseGraph; Wyłącza tryb graficzny i wraca do poprzedniego trybu tekstowego.
4
PROSTY KOD - GRAFIKA program Grafika; uses Crt,Graph;
var sterownik,tryb:integer; begin DetectGraph(sterownik,tryb); {sterownik:=VGA; tryb:= VGAHi;} InitGraph(sterownik,tryb,'C:/BP/BGI'); Line(10,10,100,100); <-rysowanie repeat until keypressed; CloseGraph; end.
5
Operacje trybu graficznego
Po włączeniu trybu graficznego mamy szereg procedur graficznych. Procedury zwracają na ekran graficzny wynik swej pracy: np. rysunek linii , czy koła. Nasz tryb graficzny to VGA o rozdzielczości i 16 kolorów. RYSOWANIE PUNKTU NA EKRANIE (PIXEL) PutPixel (X, Y: Integer; Pixel: Word); X- położenie w osi x (0-639) Y – położenie w osi y (0-479) Pixel – 0-15 kolor , Word – liczby Przykład for i:=0 to 15 do begin PutPixel(100+i,100+i,i); end; Program narysuje 15 pikseli w różnych kolorach
6
Operacje trybu graficznego
SetBkColor (ColorNum: Word); - ustawia kolor tła ekranu SetColor (Color: Word); - ustawia kolor np. podczas rysowania linii , czy koła Przykładowe kolory: 0- czarny 1- niebieski 4 - czerwony 15 - biały RYSOWANIE LINI NA EKRANIE (np. czerwonej) Line (x1, y1, x2, y2: Integer); rysuje linię prostą Przykład SetBkColor (0); czarne tło SetColor (4); kolor czerwony Line(200,200,400,200); - od x,y do x,y – rysowanie linii na ukranie
7
Rysowanie figur Rectangle (x1, y1, x2, y2: Integer); - rysuje prostokąt Rectangle(100,100,300,300); (kwadrat) Circle (X,Y: Integer; Radius: Word); - rysuje okrąg Gdzie X,Y – środek koła, Radius – długość promienia circle(100,100,70); Arc (X,Y; Integer; StAngle, EndAngle, Radius; Word); łuk, wycinek okręgu (gdzie x,y – początek rysowania, kąt początkowy, kat końcowy, długość promienia) arc(100,100,0,90,80);
8
Wypełnienie obszaru oznaczonego kolorem
Ellipse(X, Y: Integer; StAngle, EndAngle: Word; XRadius, YRadius: Word); - rysuje elipsę Przykład: ellipse(320,240,0,360,100,50); - x,y – środek elpisy, kąty rysowania, np. 100 – długosć osi poziomej, 50 długosćosi pionowej Wypełnienie obszaru oznaczonego kolorem FloodFill (X, Y: Integer; Border: Word); wypełnia zamknięty (ograniczony liniami o innym kolorze) region ekranu wcześniej trzeba wypełnić kolor i wzór „wypełniacza” SetFillStyle (Pattern: Word; Color: Word); ustawia rodzaj „wypełniacza”
9
PRZYKŁAD Narysuj na ekranie okrąg np. czerwony a potem wypełnij go w środku na niebiesko SetBkColor (0); <-kolor tła czarne SetColor (4); <- kolor pisaka czerwony circle(320,240,100); <- rysowanie okręgu SetFillStyle(1,4); wybieranie rodzaju i obwódki do jakiej będziemy wypełniać FloodFill(320,240,4); - wypełnienie okręgu na niebiesko
10
Napisy w trybie graficznym
MoveTo (X, Y: Integer); - przesuwa kursor graficzny do wskazanego punktu OutText (TextString: string); - wyprowadza tekst OutTextXY (X,Y: Integer; TextString: string); - wyprowadza teks począwszy od punktu o zadanych współrzędnych X i Y napis:='Ala ma kota'; OutTextXY(200,200,napis); Przykład: wcześniej ( var napis:string;)
11
SetTextStyle (Font, Direction: Word; CharSize: Word); ustawia styl tekstu
SetColor(4); SetTextStyle(4,0,4); napis:='To jest napis'; OutTextXY(200,200,napis); SetLineStyle (LineStyle: Word; Pattern: Word; Thickness: Word); ustawia rodzaj linii (ciągła, przerywana, gruba itp.) SetLineStyle(1,0,3); Line(100,100,300,300); Parametr 1 - (0-ciągła linia,1,2,3-przerywana) Parametr 3 – (1- cienka linia, 3 – pogrubiona linia)
12
ClearDevice – czyszenie urządzenia graficznego (ekranu)
SŁUPKI DO WTKRESÓW SetColor(4); SetFillStyle(2,4); Bar(10,100,11,20); <- słupek zwyczajny Bar3D(50,50,290,230,50,true); <- słupek 3 wymiarowy
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.