Gyakorlatok helye: Irinyi 224. terem
Gyakorlatok ideje: Hétfõ
10-12. névsor
(megtelt)
Hétfõ 12-14. névsor
(megtelt)
Tematika:
- PHIGS programozásaFeltételezett elõismeret:
- Programozás Post Script nyelven
- xfig grafikus rajzoló program használata
- C programozási nyelvKövetelmény:
- Linux op. rsz. ismerete (filekezelés, jogosultságok, texteditor)
-beadandó egy PHIGS-ben és egy PostScript nyelven írt kötelezõ program.Következõ órára mindenkinek legyen anyaga az általam kiadott PHIGS fóliákról!
- Zh-t csak az írhat, aki elõtte beadja a témához kapcsolódó köt.programot.
- 1. ZH: 2001. október 29. PHIGS programozási feladat(ok) számítógépen
- 2. ZH: 2001. december 3. PostScript programok készítése számítógépen
- Csak annak a hallgatónak a félévét írom alá, aki megírja mind a 2 zh-t.
Önálló munkához hasznos tudnivalók (gyakorlaton nem használjuk):
1. Grafikus programozás Borland C-ben
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;
}