Gyakorlatok helye: Irinyi 225, X-es terem
Ideje: Kedd
10-12
Kedd 12-14
Szerda 13-15
Csüt. 10-12
Oktatással kapcsolatos e-mail-eket csak a siriuson fogadok: marcsi@sirius.cab.u-szeged.hu
Tematika:
- BGI grafika UNIX környezetbenFeltételezett elõismeret:
- PHIGS programozása
- Programozás Post Script nyelven
- xfig grafikus rajzoló program használata
- C nyelvKövetelmény:
- BC++ fejlesztõi környezet, grafikus függvények használata
- UNIX op. rsz. ismerete (filekezelés, jogosultságok, texteditor)
-beadandó 1db C nyelven írt grafikus program (saját készítésû, mûködõ) a 3. gyakorlatra (mindegy, milyen platformra íródott)Következõ órára mindenkinek legyen másolata az általam kiadott PHIGS fóliákról.
-1. ZH: PHIGS programozási feladat(ok) gép mellett (terv szerint nov. 1. hetében)
-2. ZH: PostScript nyelv
1. gyakorlat:
1. Grafikus programozás Borland C-ben (ismétlés)
setviewport. (Default: a teljes display)Több, mint 70 grafikus fv., magasszintûtõl (pl. drawpoly,bar3d) a bitorientáltig (getimage, putimage). Az aktuális pont :Current pointer ( CP) , mely viewport-on kivül is lehet.
graphics.lib : run time fv. könyvtár
graphics.h: fejléc-file a graphigs.lib fv-eihez deklarációk,
konstansok.
Hardverfüggetlen grafikus alrendszer (bgi grafika):
Az adott grafikus kártyához rendelt eszközmeghajtó
file (*.gbi) biztosítja, pl. vga.bgi.
Borland Graphics Interface:bgi. A grafikus rendszer inicalizáló
rutinjai képesek a grafikus kártyák típusának
felismerésére. A *.bgi futás
közben töltõdik be.
Grafikus program készítése:
int main(void)
{
/* grafikus kartya automatikus felismeres*/
int
gdriver = DETECT, gmode, errorcode;
char
msg[80];
/* grafikus uzemmodra valtas:*/
initgraph(&gdriver,&gmode,"");
/* inicializalas eredmenyessegenek vizsgalata : */
/*hibakod lekerdezese: */
errorcode
= graphresult();
if
(errorcode!=grOk)
{
printf("Graphics
error: %s \n",grapherrormsg(errorcode));
printf("Press
any key to halt:");
getchar();
exit(1);
}
line(0,0,getmaxx(), getmaxy()); /* atlos vonal rajzolasa a display-re */
getchar();
/* billentyuleutesre var */
closegraph();
/* grafikus uzemmod lezarasa*/
return
0;
}