1. A grafikus könyvtár becsatolása
uses graph;
2. A grafikus meghajtó (driver) változójának deklarálása
var gd:integer; {smallint //DevPas}
3. Grafikus üzemmód változójának deklarálása
var gm:integer; {smallint //DevPas}
7. A grafikus üzemmódokat egyszerre is megadhatjuk
var gd, gm:integer; {smallint //DevPas}
5. Grafikus meghajtó kiválasztása
gd:=Detect;
6. A grafikus üzemmód inicializálása
InitGraph(gd,gm,'');
7. Grafikus hiba feldolgozása
if GraphResult<>GrOk then begin Write('Grafikus hiba'); Halt(1); end;
8. Rajzolás rajzolási parancsok
{grafikus eljárások és függvények}
9. Kilépés a grafikus üzemmódból
CloseGraph;
10. Grafikus program
program grafika; uses graph; var gd,gm:integer; begin gd:=Detect; InitGraph(gd,gm,''); if GraphResult<>GrOk then begin Write('Grafikus hiba'); Halt(1); end; {grafikus eljárások és függvények} CloseGraph; end.
Grafikus kurzor pozicionálása
GetX : integer
A grafikus kurzor aktuális pozíciójának x koordinátája.
GetY : integer
A grafikus kurzor aktuális pozíciójának y koordinátája.
GetMaxX : integer
A képernyõ legnagyobb x koordinátája.
GetMaxY : integer
A képernyõ legnagyobb y koordinátája.
MoveTo(x,y: integer);
A grafikus kurzor pozícionálása az (x,y) pontra.
MoveRel(dx,dy: integer);
A grafikus kurzor eltolása (dx,dy) koordinátákkal.
Képernyőablak
SetActivePage(Page: word);
Kijelöli a képernyõ aktív lapját.
SetVisualPage(Page: word);
Megjeleníti a megadott lapot.
ClearDevice;
Letörli az aktív képernyõ tartalmát.
ClearViewPort;
Letörli az aktuális ablak tartalmát.
SetViewPort(x1,y1,x2,y2: integer; Clip: boolean);
Aktuális ablak kijelölése a képernyõn.
GetViewSettings(var ViewPort: ViewPortType);
Aktuális ablak adatainak lekérdezése.
Pont
PutPixel(x,y: integer; Pixel: word);
Pontot rajzol a megadott színnel.
GetPixel(x,y: integer): word
Az (x,y) pont színe.
Vonal
Line(x1,y1,x2,y2: integer);
Vonalat rajzol két pont között.
LineTo(x,y: integer);
Vonalat húz az (x,y) pontba.
LineRel(dx,dy: integer);
Vonalat húz a (dx,dy) távolságra lévõ pontba.
SetWriteMode(WriteMode: integer);
Vonalrajzolás módjának beállítása.
SetLineStyle(LineStyle,Pattern,Width: word);
Vonal típusának beállítása.
GetLineSettings(var LineInfo: LineSettingsType);
Vonal adatainak lekérdezése.
Poligon
Rectangle(x1,y1,x2,y2: integer);
Téglalapot rajzol.
Bar(x1,y1,x2,y2: integer);
Kitöltött téglalapot rajzol.
Bar3D(x1,y1,x2,y2: integer; Depth: word; Top: boolean);
Téglatestet rajzol adott mélységgel.
DrawPoly(NumPoints: word; var PolyPoints);
Sokszöget rajzol.
FillPoly(NumPoints: word; var PolyPoints);
Kitöltött sokszöget rajzol.
Kör, ellipszis
Circle(x,y: integer; Radius: word);
Kört rajzol (x,y) középponttal és adott sugárral.
Arc(x,y: integer; StAngle,EndAngle,Radius: word);
Körívet rajzol (x,y) középponttal a megadott kezdõszög és végszög között.
PieSlice(x,y: integer; StAngle,EndAngle,Radius: word);
Körcikket rajzol és kitölti.
Ellipse(x,y: integer; StAngle,EndAngle,XRadius,YRadius: word);
Ellipszis ívet rajzol.
FillEllipse(x,y: integer; XRadius,YRadius: word);
Teljes ellipszist rajzol és kitölti.
Sector(x,y: integer; StAngle,EndAngle,XRadius,YRadius: word);
Ellipszis cikket rajzol és kitölti.
GetArcCoords(var ArcCoords: ArcCoordsType);
Az utoljára rajzolt ív kezdõ- és végkoordinátáit adja vissza.
SetAspectRatio(xasp,yasp: word);
A beépített oldalarányok megváltoztatása.
GetAspectRatio(var xasp,yasp: word);
A beépített oldalarányok értékével tér vissza.
Kitöltés
FloodFill(x,y: integer; Border: word);
Az (x,y) ponttól kezdve kitölti a Borderben megadott színnel körbezárt területet.
SetFillStyle(Pattern,Color: word);
Beállítja a kitöltés mintáját és színét.
SetFillPattern(Pattern: FillPatternType; Color: word);
A felhasználó által definiált minta (8 byte) és szín beállítása.
GetFillPattern(var FillPattern: FillPatternType);
A felhasználó által definiált mintát és színt adja vissza.
GetFillSettings(var FillInfo: FillSettingsType);
Az aktuális kitöltés mintáját és színét adja vissza.
Szín
SetBkColor(Color: word);
Beállítja a háttér színét.
SetColor(Color: word);
Beállítja a rajzolás színét.
GetBkColor(Color: word);
Az aktuális háttérszínt adja vissza.
GetColor(Color: word);
A rajzolás aktuális színét adja vissza.
SetAllPalette(var Palette: PaletteType);
Az alappaletta színeinek beállítása.
SetPalette(ColorNum,Color: word);
Adott szín sorszámának megváltoztatása.
GetPalette(var Palette: PaletteType);
Az aktuális paletta értékeivel tér vissza.
GetPaletteSize: integer
Az aktuális paletta méretével tér vissza.
GetMaxColor: word
A maximálisan felhasználható színek száma.
Szöveg
OutText(TextString: string);
Szöveget ír a képernyőre.
OutTextXY(x,y: integer; TextString: string);
Szöveget ír a képernyőre (x,y) ponttól kezdve.
SetTextStyle(Font,Direction,CharSize: word);
A betű típusának, méretének, és a kiírás irányának beállítása.
SetTextJustify(Horiz,Vert: word);
A szöveg igazítása a kiírás kezdőpontjához.
GetTextSettings(var TextInfo: TextSettingsType);
A szövegkiírás aktuális beállításait adja vissza.
TextHeight(TextString: string): word
Betű magasságát adja vissza.
TextWidth(TextString: string): word
Szöveg hosszát adja vissza.
Bittérkép
ImageSize(x1,y1,x2,y2: integer): word
A képablak méretét adja vissza byte-ban.
GetImage(x1,y1,x2,y2: integer; var BitMap);
A paraméterként megadott képablakot menti el a pufferbe.
PutImage(x,y: integer; var BitMap; BitBlt: word);
A puffer tartalmát tölti be az (x,y) ponttól kezdve.
program rajz; uses graph; var gd,gm: smallint; {integer} begin gd := Detect; InitGraph(gd, gm, ''); if GraphResult <> GrOk then begin Write('Grafikus hiba'); Readln; Halt(1); end; SetColor(Green); Line(10, 20, 100, 200); SetColor(Red); Rectangle(5, 15, 105, 205); SetColor(Yellow); Circle(65, 50, 30); PutPixel(65, 50, White); Readln; CloseGraph; end.
program grafika; uses graph; var gd,gm:smallint; {DOS-ban gd,gm:integer;} i:integer; begin gd:=VGA; gm:=VGAHI; InitGraph(gd,gm,''); if GraphResult<>GrOk then begin Write('Grafikus hiba'); Halt(1); end; {grafikus eljárások és függvények} for i:=1 to 10 do circle(200,200,180-i*10); line(200,200,30,200); line(200,200,200,30); moverel(25,25);linerel(30,30); moverel(0,-30);linerel(-30,30); OutTextXY(10,300,'Hello!'); Rectangle(20,20,60,60); SetFillStyle(SolidFill,Green); FloodFill(199,199,White); SetFillStyle(HatchFill,Yellow); for i:=1 to 4 do FloodFill(20+i*20+2,198,White); readln; CloseGraph; end.
program snake; uses crt; const bal=#75; fel=#72; jobb=#77; le=#80; esc=#27; max_hossz=200; var x,y,dx,dy,i,j,hossz:integer; ch:char; xk,yk:array[1..max_hossz]of integer; begin {játéktér} for i:=2 to 78 do begin gotoxy(i,2);write('#'); gotoxy(i,24);write('#');end; for i:=3 to 23 do begin gotoxy(2,i);write('#'); gotoxy(78,i);write('#');end; i:=1; x:=10; y:=10; dx:=1; dy:=0; xk[i]:=x; yk[i]:=y; hossz:=5; repeat if keypressed then begin ch:=readkey; if ch=#0 then ch:=readkey; end; case ch of bal: begin dx:=-1; dy:= 0; end; fel: begin dx:= 0; dy:=-1; end; jobb:begin dx:= 1; dy:= 0; end; le: begin dx:= 0; dy:= 1; end; end; x:=x+dx; y:=y+dy; if (x<2)or(x>78)or(y<2)or(y>24) then begin gotoxy(4,25);write('VEGE! <ENTER> - kilepes!'); readln; exit; end; gotoxy(x,y); write('O'); if i<=hossz then i:=i+1 else i:=1; if i<=hossz then j:=i+1 else j:=1; xk[i]:=x; yk[i]:=y; gotoxy(xk[j],yk[j]); write(' '); delay(300); until ch=esc; end.
program pontok; uses graph; var gd,gm:smallint; i,j,x,y,c:integer; begin gd:=detect; initgraph(gd,gm,''); rectangle(0,0,200,200); {négyzet} line(0,0,200,200); {foátló} line(0,200,200,0); {mellékátló} Randomize; for i:=1 to 8000 do begin x:=1+random(198); {véletlen számok 1-199ig} y:=1+random(198); c:=1+random(14); if (x>y)and(x+y>200+1)then PutPixel(x,y,red); if (x>y)and(x+y<200+1)then PutPixel(x,y,blue); if (x<y)and(x+y>200+1)then PutPixel(x,y,green); if (x<y)and(x+y<200+1)then PutPixel(x,y,yellow); end; {PutPixel(10,10,green); for i:=1 to 10 do for j:=1 to 10 do PutPixel(10+i,10+j,green); } readln; closegraph; end.
program animacio; uses graph,crt; var gd,gm:smallint; i:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(yellow); circle(50,50,40); OutTextXY(10,150,'Animacio!'); for i:=0 to 400 do begin setcolor(yellow); circle(50+i,50,40); delay(50); setcolor(black); circle(50+i,50,40); end; OutTextXY(80,150,'Vege!'); readln; closegraph; end.