Post on 05-Jan-2016
description
GRAFIKA W TURBO PASCALU
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
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.
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.
Operacje trybu graficznegoPo 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 640-480 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 – 0-256 liczby
Przykład
for i:=0 to 15 dobeginPutPixel(100+i,100+i,i);end; Program narysuje 15 pikseli w różnych kolorach
Operacje trybu graficznegoSetBkColor (ColorNum: Word); - ustawia kolor tła ekranu
SetColor (Color: Word); - ustawia kolor np. podczas rysowania linii , czy koła
Przykładowe kolory:0- czarny1- niebieski4 - czerwony15 - biały
RYSOWANIE LINI NA EKRANIE (np. czerwonej)
SetBkColor (0); - czarne tłoSetColor (4); - kolor czerwonyLine(200,200,400,200); - od x,y do x,y – rysowanie linii na ukranie
Line (x1, y1, x2, y2: Integer); rysuje linię prostą
Przykład
Rysowanie figur
Rectangle (x1, y1, x2, y2: Integer); - rysuje prostokątRectangle(100,100,300,300); (kwadrat)
Circle (X,Y: Integer; Radius: Word); - rysuje okrąg Gdzie X,Y – środek koła, Radius – długość promieniacircle(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);
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 koloremFloodFill (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”
PRZYKŁAD
• Narysuj na ekranie okrąg np. czerwony a potem wypełnij go w środku na niebiesko
SetBkColor (0); <-kolor tła czarneSetColor (4); <- kolor pisaka czerwonycircle(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
Napisy w trybie graficznymMoveTo (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;)
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.)
SetColor(4); 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)
ClearDevice – czyszenie urządzenia graficznego (ekranu)
SŁUPKI DO WTKRESÓW
SetColor(4);SetFillStyle(2,4);
Bar(10,100,11,20); <- słupek zwyczajnyBar3D(50,50,290,230,50,true); <- słupek 3 wymiarowy