next up previous contents
Elõre: Általános könyvtári függvények Fel: Fontosabb könyvtári függvények Vissza: Hangeffektusok létrehozása

Függvények grafikus üzemmódban



arc graphics.h


x,y középpontú körívet rajzol kezdõ és végszög között.
          #include <graphics.h>
          void far arc(int x, int y, int stangle,
                       int endangle, int radius);
Paraméterek:
 
x,y a körív középpontja
stangle a kezdõszög (fokban)
endangle a végszög (fokban)
radius a sugár
Megjegyzés: Ha a kezdõszögnek 0 és a végszögnek 360 fokot adunk, akkor az eljárás teljes kört rajzol. A szögeket az óramutató járásával ellentétes irányban kell megadni, 0 fok 3 órának, 90 fok 12 órának felel meg.
 

bar graphics.h


Téglalapot rajzol és befesti az aktuális színnel és mintával.
          #include <graphics.h>
          void far bar(int left,  int top, 
                       int right, int bottom);
Paraméterek:
 
left, top a téglalap bal felsõ sarka
right, bottom a téglalap jobb alsó sarka
Megjegyzés: A setcolor, setfillstyle és a setlinestyle függvények által korábban beállított színnel és mintával rajzolja, illetve tölti ki a téglalapot.
 

bar3d graphics.h


Téglatestet rajzol és befesti az aktuális színnel és mintával.
          #include <graphics.h>
          void far bar3d(int left, int top, int right,
                         int bottom, int depth, int topflag);
Paraméterek:
 
left, top a téglalap bal felsõ sarka
right, bottom a téglalap jobb alsó sarka
depth a téglatest mélysége
topflag ha nem nulla, a téglatest teteje zárt, nulla esetén a téglatest tetejére újabb téglatest illeszthetõ
Megjegyzés: A korábban definiált színnel és mintával rajzol és fest téglatestet.
 

circle graphics.h


x,y középpontú kört rajzol.
          #include <graphics.h>
          void far circle(int x, int y, int radius);
Paraméterek:
 
x,y a kör középpontjának koordinátái
radius a kör sugara
Megjegyzés: A kör rajzolása az aktuális színnel történik. A linestyle paraméter nem hatásos az ív, kör, ellipszis és ellipszis ív rajzolásánál, csak a thickness paraméter használható.
 

cleardevice graphics.h


Törli a grafikus képernyõt.
          #include <graphics.h>
          void far cleardevice(void);
Megjegyzés: Törli a képernyõt beszínezve a háttérszínnel és a kurzort a (0,0) pozícióba mozgatja.
 

clearviewport graphics.h


Törli az aktuális grafikus ablakot.
          #include <graphics.h>
          void far clearviewport(void);
Megjegyzés: Törli a aktuális grafikus ablakot és a kurzort a képernyõ ablak (0,0) pozíciójába mozgatja.
 

closegraph graphics.h


Lezárja a grafikus üzemmódot.
          #include <graphics.h>
          void far closegraph(void);
Megjegyzés: A closegraph a grafikus üzemmód inicializálása elõtti képernyõ üzemmódot állítja vissza.
 

detectgraph graphics.h


Ellenõrzi a hardvert és meghatározza, hogy milyen grafikus meghajtót és módot lehet használni.
          #include <graphics.h>
          void far detectgraph(int far *graphdriver,
                               int far *graphmode);
Megjegyzés: Megvizsgálja a grafikus kártyát és kiválasztja azt az üzemmódot, amelyik a legjobb felbontást nyújtja. Ha az adott hardverkonfigurációban a grafika használata nem lehetséges, ezt a *graphdriver paraméter, illetve a grahpresult függvény -2-es visszatérési értéke jelzi. A lehetséges grafikus üzemmód kontsansok az alábbiak:
 
konstansok numerikus érték

DETECT 0
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMONO 5
IBM8514 6
HERCMONO 7
ATT400 8
VGA 9
PC3270 10


 
A DETECT érték hatására a grafikus rendszer érzékeli a grafikus kártya típusát. Minden más érték esetén az adott grafikus kártya legjobb felbontású üzemmódja kerül kiválasztásra.
 

drawpoly graphics.h


A megadott vonaltípussal és színnel pontsorozatot egyenessel köt össze.
          #include <graphics.h>
          void far drawpoly(int numpoints,
                            int far *polypoints);
Paraméterek:
 
numpoints a koordináták száma
polypoints mutató az x,y pontpárokat tartalmazó tömbre
Megjegyzés: Egy n pontból álló zárt poligon esetén n+1 koordinátapárt kell megadni, ahol az n+1-edik koordinátapárnak meg kell egyeznie a 0-adikkal. Ha hiba történik a poligon rajzolása alatt a graphresult -6 értékkel tér vissza.
 

ellipse graphics.h


x,y középpontú ellipszis ívet rajzol kezdõ és végszög között.
          #include <graphics.h>
          void far ellipse(int x, int y, int stangle,
                           int endangle, int xradius,
                           int yradius);
Paraméterek:
 
x,y középpont kezdõ koordinátái
stangle kezdeti szög
endangle végszög
xradius vízszintes tengely
yradius függõleges tengely
Megjegyzés: A szögek az óramutató járásával ellentétes irányúak. A 0 fok 3 órának, a 90 fok 12 órának felel meg. Ha 0 kezdõ- és 360 fok végszöget adunk, teljes ellipszist kapunk.
 

fillellipse graphics.h


Rajzol és befest egy ellipszist.
          #include <graphics.h>
          void far fillellipse(int x, int y, int xradius,
                               int yradius);
Paraméterek:
 
x,y az ellipszis középpontja
xradius a vízszintes tengely
yradius a függõleges tengely
Megjegyzés: Rajzol egy x, y középpontú, xradius vizszintes és yradius függõleges tengelyû ellipszist és befesti az aktuális színnel és mintával.
 

fillpoly graphics.h


Rajzol és befest egy poligont.
          #include <graphics.h>
          void far fillpoly(int numpoints,
                            int far *polypoints);
Paraméterek:
 
numpoints a poligon pontpárainak száma
polypoints mutató az x,y pontpárokat tartalmazó tömbre
Megjegyzés: Aktuális színnel és vonaltípussal megrajzolja a poligon körvonalát és befesti az aktuális mintával és színnel.
 

floodfill graphics.h


Aktuális mintával befesti az adott színû vonallal zárt területet.
          #include <graphics.h>
          var far floodfill(int x, int y, int border);
Paraméterek:
 
x,y a zárt terület egy belsõ pontjának koordinátái
border szín
 


getarccoords graphics.h


Megadja az utoljára rajzolt ív kezdõ- és végkoordinátáinak értékét.
          #include <graphics.h>
          void far getarccoords(struct arccoordstype
                                far *arccoords);
Megjegyzés: Visszatér az arccoordtype struktúra típusú *arccoords változóban elhelyezett értékekkel, ahol
          struct arccoordstype
          {
               int x, y;
               int xstart, ystart, xend, yend;
          }
Itt
 
x,y a középpont koordinátái
xstart, ystart az ív kezdõpontjának koordinátái
xend, yend az ív végpontjának koordinátái
Ezeknek az adatoknak az ismeretében lehet például egy ellipszis ív végpontjából egy vonalat rajzolni.
 

getaspectratio graphics.h


Visszaadja az aktuális grafikus mód vizszintes/függõleges képarányát.
          #include <graphics.h>
          void far getaspectratio(int far *xasp, 
                                  int far *yasp);
Paraméterek: *xasp, *yasp: képarány összetevõk (faktorok)

Megjegyzés: Az y arányfaktor (*yasp) minden grafikus kártya esetén 10000-hez van normálva, kivéve a VGA-t. Az *xasp (x arányfaktor) kisebb, mint az *yasp, mivel egy képpont (pixel) magassága és szélessége nem egyforma. VGA esetén 'négyzet alakú' egy pixel, emiatt *xasp egyenlõ *yasp-vel.
 


getbkcolor graphics.h


A háttér aktuális színét adja vissza.
          #include <graphics.h>
          int far getbkcolor(void)
Megjegyzés: Visszatérési értéke a háttérszín, amely 0 - 15-ig változhat, ez függ a grafikus kártyától és az aktuális grafikus módtól.
 

getcolor graphics.h


A rajzoló színt adja vissza.
          #include <graphics.h>
          int far getcolor(void);
Megjegyzés: Az utolsó sikeres setcolor hívás színének értékét adja vissza. A rajzolás színe 0-15-ig változhat, ez függ a grafikus kártyától és az aktuális grafikus módtól.
 

getdefaultpalette graphics.h


A paletta (színskála) értékeit adja vissza.
          #include <graphics.h>
          struct palettetype *far getdefaultpalette(void);
Megjegyzés: A palettetype típusú struktúrára mutató pointert kapunk vissza. A pointer által megcímzett struktúrában kapjuk meg az initgraph-ban definiált színskála értékeket.
 

getdrivername graphics.h


Visszatér egy sztringre mutató pointerrel, melyben a grafikus kártya nevét adja vissza.
          #include <graphics.h>
          char *far getdrivername(void);
Megjegyzés: Az initgraph aktiválása után az aktív grafikus kártya nevével tér vissza.
 

getfillpattern graphics.h


A felhasználó által elõzõleg definiált alakzat kitöltõ minta azonosító kódját vissza.
          #inlcude <graphics.h>
          void far getfillpattern(char far *pattern);
Paraméter: pattern - egy pointer, amely egy 8 byte-os szekvenciára mutat.

Megjegyzés: A setfillpattern által definiált mintát a getfillpattern betölti egy 8 byte-os területre, amit a pattern címez meg.
 


getfillsettings graphics.h


Információt ad az aktuális festõmintáról és színrõl.
          #include <graphics.h>
          void far getfillsettings(struct fillsettingstype
                                   far *fillinfo);
Megjegyzés: A getfillsettings betölti a fillsettingstype strukturára mutató pointert a fillinfo pointer változóba, amely információt ad az aktális kitöltõ mintáról és színrõl. A struktúra a graphics.h file-ban az alábbi:
          struct fillsettingstype
          {
             int pattern;   /* az aktualis minta */
             int color;     /* az aktualis szin  */
           }
 Kitöltõminták

Név (konstans) Érték Leírás

EMPTY_FILL 0 háttérszínnel fest
SOLID_FILL 1 egyenletes, gyenge tónus
LINE_FILL 2 vízszintes vonalas minta
LTSLASH_FILL 3 jobbra dõlt vonalas minta
SLASH_FILL 4 jobbra dõlt vastag vonalas minta
BKSLASH_FILL 5 balra dõlt vastag vonalas minta
LTBKSLASH_FILL 6 balra dõlt vonalas minta
HATCH_FILL 7 kockás minta
XHATCH_FILL 8 dõlt kockás minta
INTERLEAVE_FILL 9 sûrûn pontozott minta
WIDE_DOT_FILL 10 ritkán pontozott minta
CLOSE_DOT_FILL 11 közepesen pontozott
USER_FILL 12 felhasználó által definiált


 
 

getgraphmode graphics.h


Az aktuális grafikus üzemmódot adja meg.
          #include <graphics.h>
          int far getgraphmode(void);
Megjegyzés: A getgraphmode megadja az initgraph vagy setgraphmode által beállított grafikus üzemmódot. Ennek értéke 0-5 között változhat, ez függ az aktuális grafikus kártyától.
 

getimage graphics.h


A megadott képmezõt elmenti egy bufferba.
          #include <graphics.h>
          void far getimage(int left, int top, int right,
                            int bottom, void far *bitmap);
Paraméterek:
 
left, top a tartomány bal felsõ sarka
right, bottom a tartomány jobb alsó sarka
*bitmap a bufferre mutató pointer
Megjegyzés: A getimage a képmezõ megadott területét elmenti a bitmap pointer által mutatott memória területre.A memória területnek az elsõ két adata a tartomány szélességét és magasságát tartalmazza, ezután következnek a képmezõ adatai.
 

getlinesettings graphics.h


A vonal típusát, mintáját és vastagságát adja vissza.
          #include <graphics.h>
          void far getlinesettings(struct linesettingstype
                                   far *lineinfo);
Megjegyzés: A getlinesettings betölti a linesettinsgtype struktúra pointerét a lineinfo pointer változóba, amely a vonal tulajdonságait szolgáltatja:
          struct linesettingstype
          {
            int linestyle;
            unsigned upattern;
            int thickness;
          }
A vonal típusa:

Konstans Érték Leírás

SOLID_LINE 0 normál vonal
DOTTED_LINE 1 pont vonal
CENTER_LINE 2 közép vonal
DASHED_LINE 3 szaggatott vonal
USERBIT_LINE 4 felhasználó által definiált vonal


 
A vonal vastagsága

Konstans Érték Leírás

NORM_WIDTH 1 normál vonal (1 pixel széles)
THICK_WIDTH 3 vastag vonal (3 pixel széles)


 

getmaxcolor graphics.h


Megadja a maximálisan használható színek számát.
          #include <graphics.h>
          int far getmaxcolor(void);
Megjegyzés: Például 256K-s EGA kártya esetén a visszatérési érték 15, mert a setcolor maximálisan 0 - 15 érvényes színt tud kiválasztani. A CGA finom grafika és a Hercules egyszínû grafika esetén a visszatérési érték 1, mert ebben az esetben a szín 0 és 1 lehet.
 

getmaxmode graphics.h


A legmagasabb grafikus üzemmód-számot adja meg.
          #include <graphics.h>
          int far getmaxmode(void);
Megjegyzés: A legkisebb érték 0.
 

getmaxx graphics.h


A maximálisan használható x koordináta értéket adja meg.
          #include <graphics.h>
          int far getmaxx(void);
Megjegyzés: Például a CGA kártya 320*200 felbontású grafikus üzemmódja esetén a getmaxx 319 értékkel tér vissza.
 

getmaxy graphics.h


A maximálisan használható y koordináta értéket adja meg.
          #include <graphics.h>
          int far getmaxy(void);
Megjegyzés: Például a CGA kártya 320*200 felbontású grafikus üzemmódja esetén a getmaxy 199 értékkel tér vissza.
 

getmodename graphics.h


A grafikus eszköz meghajtó nevére mutató pointerrel tér vissza.
          #include <graphics.h>
          char *far getmodename(int mode_number);
Paraméter:

mode_number       grafikus mód száma
 


getmoderange graphics.h


Megadja a grafikus meghajtó üzemmódjainak tartományát.
          #include <graphics.h>
          void far getmoderange(int graphdriver,
                                int far *lomode,
                                int far *himode);
Paraméterek:
 
graphdriver grafikus meghajtó
lmode, hmode az üzemmód tartomány alsó és felsõ határára mutató pointerek
Megjegyzés: *lomode tartalmazza a grafikus mód alsó, *himode pedig a felsõ határát. Érvénytelen grafikus meghajtó megadása esetén mindkét visszatérési érték -1 lesz.
 

getpalette graphics.h


Információt ad a palettáról.
        #include <graphics.h>
        void far getpalette(struct palettetype far *palette);
Megjegyzés: A getpalette feltölti a palettetype típusú palette struktúrát  az  aktuálisan  használt  paletta  jellemzõivel. A palettetype a graphics.h-ban van definiálva
          #define MAXCOLORS  15
          struct palettetype
          {
            unsigned char size;
            signed char colors[MAXCOLORS+1];
          }
A size a színkészletben használható színek száma, melyet az aktuális grafikus mód határoz meg.
 

getpalettesize graphics.h


A színtábla (paletta) méretét adja meg.
          #include <graphics.h>
          int far getpalettesize(void);
Megjegyzés: A visszatérési érték megadja az aktuális grafikus módban használható színek számát. Például színes üzemmódban használt EGA kártya esetén ez az érték 16 lesz.
 

getpixel graphics.h


Az (x,y) koordinátájú képpont színértékét adja vissza.
          #include <graphics.h>
          unsigned far getpixel(int x, int y);
Paraméterek:
x, y       a képpont koordinátái
 

gettextsettings graphics.h


Információt ad a beállított írásképrõl.
          #include <graphics.h>
          void far gettextsettings(struct textsettingstype
                                   far *texttypeinfo);
Megjegyzés: A gettextsettings betölti a textsettingstype struktúra címét atexttypeinfo pointer változóba. Ez a struktúra tájékoztatást ad a használt karakterkészlet típusáról, irányáról, méretérõl és beállítási helyzetérõl.
          struct textsettingstype
          {
            int font;        /* karakterkeszlet tipusa */
            int direction;   /* irany                  */
            int charsize;    /* meret                  */
            int horiz;       /* vizszintes helyzet     */
            int vert;        /* fuggoleges helyzet     */
          }
 

getviewsettings graphics.h


Az aktuális ablak (viewport) adatait adja meg.
          #include <graphics.h>
          void far getviewsettings(struct viewporttype
                              far *viewport);
Megjegyzés: A getviewsettings kitölti a viewport pointer által mutatott viewporttype struktúrát.
          struct viewporttype
          {
            int left,top,right,bottom;
            int clip;
          }
A (left, top) és (right, bottom) koordinátapontok az aktív ablak méretét szolgáltatják, melyek abszolút képernyõ koordinátákban értendõk. A clip mezõ értéke határozza meg az ablakban megjelenõ rajz vágását. Ha clip értéke pozítív, akkor van vágás, ebben az esetben a rajzoknak csak az ablakba esõ része látható, nulla esetén nincs vágás.
 

getx graphics.h


Az aktuális grafikus kurzor x koordinátáját adja meg.
          #include <graphics.h>
          int far getx(void);
Megjegyzés: A megadott x koordináta relatív érték az ablakhoz képest, ami azt jelenti, hogy ha a képernyõn egy ablakot jelöltünk ki, akkor az ahhoz viszonyított koordinátákat kapjuk vissza.
 

gety graphics.h


Az aktuális grafikus kurzor y koordinátáját adja meg.
          #include <graphics.h>
          int far gety(void);
Megjegyzés: A megadott y koordináta relatív érték az ablakhoz képest.
 

graphdefaults graphics.h


Alapállapotba állítja vissza a grafikus üzemmódot.
          #include <graphics.h>
          void far graphdefaults(void);
Megjegyzés: Az alapállapot beállítás a következõ:
-
az ablak a teljes képernyõt jelenti,
-
a kurzort a (0,0) pozícióba helyezi,
-
beállítja a paletta színét, a háttérszínt és a rajzszínt a default-ra, valamint a festõ típusra, mintára és a szöveginformációra.
 

grapherrormsg graphics.h


Visszatér a hibaüzenetet tartalmazó sztringre mutató pointerrel.
          #include <graphics.h>
          char *far grapherrormsg(int errorcode);
Megjegyzés: A hibakódot a graphresult függvény szolgáltatja.
 

_graphfreemem graphics.h


A grafikus memória felszabadítása.
          #include <graphics.h>
          void far _graphfreemem(void far *ptr, 
                                 unsigned size);
Paraméterek:
 
*ptr a grafikus memória területre mutató pointer
size a felszabadítandó memória mérete
Megjegyzés: A grafikus könyvtár hívja a _graphfreemem függvényt, hogy felszabadítsa _graphgetmem által korábban lefoglalt memóriát. Magunk is vezérelhetjük a grafikus könyvtár memória kezelését egyszerûen, ha definiáljuk a _graphfreemem függvény saját verzióját. Ennek a rutinnak az alapértelmezés szerinti verziója csak a free függvényt hívja. Csak BORLAND C++-ban létezik.
 

_graphgetmem graphics.h


A grafikus memória lefoglalása.
          #include <graphics.h>
          void far *far  _graphgetmem(unsigned size);
Paraméter:

size     a felszabadítandó memória mérete

Megjegyzés: A grafikus könyvtár (nem a felhasználói program) hívja a _graphgetmem függgvényt, hogy memóriaterületet foglaljon le belsõ bufferek, grafikus meghajtók és karakterkészletek számára. Magunk is vezérelhetjük a grafikus könyvtár memória kezelését egyszerûen, ha definiáljuk a _graphgetmem függvény saját verzióját. Ennek a rutinnak az alapértelmezés szerinti verziója csak a malloc függvényt hívja. Csak BORLAND C++-ban létezik.
 


graphresult graphics.h


Az utoljára végrehajtott grafikus mûvelet hibakódját adja meg.
          #include <graphics.h>
          int far graphresult(void);
Megjegyzés: A hibakód (graphresult) táblázata:

Szimbólum Magyarázat

grOk Nincs hiba
grNoinitGraph Nincs .bgi file installálva
grNotDetected Nincs grafikus kártya
grFileNotFound A .bgi file hiányzik
grInvalidDriver Érvénytelen grafikus meghajtó
grNoLoadMem Kevés a memória driver számára
grNoScanMem Kevés a memória a vizsgálathoz
grNoFloodMem Kevés a memória a kitöltéshez
grFontNotFound Nem létezõ karakterkészlet file
grNoFontMem Kevés a memória a font számára
grInvalidMode A kiválasztott grafikus mód érvénytelen
grError Grafikus hiba
grIOError Grafikus I/O hiba
grInvalidFont Érvénytelen karakterkészlet file
grInvalidFontNum Érvénytelen karakterkészlet azonosító
grInvalidDeviceNum Érvénytelen egység szám
grInvalidVersion Érvénytelen file verzió


imagesize graphics.h


Adott téglalap alakú tartomány méretét adja meg byte-okban.
          #include <graphics.)
          unsigned far imagesize(int left, int top,
                                 int right, int bottom);
Paraméterek:
 
left, top a téglalap bal felsõ sarka
right, bottom a téglalap jobb alsó sarka
Megjegyzés: Ha nagyobb memória szükséges a tárolásra, mint 64 Kbyte, akkor az imagesize függvény -1 értékkel tér vissza.
 

initgraph graphics.h


Inicializálja a grafikus rendszert.
          #include <graphics.h>
          void far initgraph(int  far *graphdriver,
                             int  far *graphmode,
                             char far *pathtodriver);
Paraméterek:
 
graphdriver a grafikus kártya típusa
graphmode grafikus mód
pathtodriver az aktuális .bgi file-t tartalmazó hozzáférési út (path)
Megjegyzés: A graphdriver paraméternél a DETECT érték megadása esetén a grafikus kártya típusa és a grafikus mód automatikusan kerül kiválasztásra. Ha az aktuális .bgi file az aktív DOS könyvtárban van, akkor a pathtodriver paraméter értéke "" (üres sztring) lehet.
 

installuserdriver graphics.h


A felhasználó által írt BGI meghajtó installálása a grafikus rendszerbe.
          #include <graphics.h>
          int far installuserdriver(char far *name,
                                    int huge (*detect)(void));
Paraméterek:
 
name az új meghajtó (.bgi) file neve
detect pointer egy szabadon választott függvényre, amely automatikusan érzékeli az új meghajtót
 

installuserfont graphics.h


Betölt egy új karakterkészletet, amely nincs beépítve a .BGI rendszerbe.
          #include <graphics.h>
          int far installuser(char far *name)
Paraméter:

name      az útvonal neve, ahol az új karakterkészlet van.

Megjegyzés: Egyszerre csak 20 karakter installálható. Hibajelzést kapunk, ha a belsõ tábla tele van, ilnyenkor a függvény a grError (-11) értékkel tér vissza.
 


line graphics.h


Egy egyenest rajzol két adott pont között.
          #include <graphics.h>
          void far line(int x1, int y1, int x2, int y2);
Paraméterek:
 
x1, y1 kezdõ koordináta
x2, y2 vég koordináta
Megjegyzés: A két koordinátapont között adott színnel, vonaltípussal és vonalvastagsággal egy egyenest rajzol.
 

linerel graphics.h


Egyenes szakaszt rajzol az aktuális plot-pozíciótól relatív koordinátákkal megadott pontig.
          #include <graphics.h>
          void far linerel(int dx, int dy);
Paraméterek:
 
dx távolság x irányban
dy távolság y irányban
Megjegyzés: Az egyenest a korábban definiált színnel, vonaltípussal és vonalvastagsággal rajzolja meg.
 

lineto graphics.h


Egyenest rajzol az aktuális plot-pozíciótól az abszolút koordinátákkal adott pontig.
          #include <graphics.h>
          void far lineto(int x, int y);
Paraméterek:

x, y      az egyenes végpontja

Megjegyzés: Az egyenest a korábban definiált színnel, vonaltípussal és vonalvastagsággal rajzolja meg.
 


moverel graphics.h


Az aktuális plot-pozíciót áthelyezi a relatív koordinátákkal adott helyre.
          #include <graphics.h>
          void far moverel(int dx, int dy);
Paraméterek:
 
dx távolság x irányban
dy távolság y irányban
 

moveto graphics.h


A plot-pozíciót az abszolút koordinátákkal adott pontba helyezi át.
          #include <graphics.h>
          void far moveto(int x, int y);
Paraméterek:

x, y     az új plot-pozíció abszolút koordinátái
 


outtext graphics.h


Az aktuális plot-pozíciótól kezdve szöveget ír ki.
          #include <graphics.h>
          void far outtext(char far *textstring);
Paraméter:

textstring    a kiírandó szövegre mutaó pointer

Megjegyzés: A szöveget a korábban beállított betûtípussal, méretben, valamint a kijelölt irányban (vízszintes, függõleges) írja ki a plot-pozíciótól kezdve.
 


outtextxy graphics.h


Szöveget ír ki a megadott (x,y) ponttól kezdve.
          #include <graphics.h>
          void far outtextxy(int x, int y,
                            char far *textstring);
Paraméterek:
 
x,y az adott pont
textstring a kiírandó szöveg
Megjegyzés: A korábban beállított betûtípussal, méretben, valamint a kijelölt irányban (vízszintes, függõleges) szöveget ír ki az adott (x, y) ponttól kezdve.
 

pieslice graphics.h


Egy körcikket rajzol és befest.
          #include <graphics.h>
          void far pieslice(int x, int y, int stangle,
                            int endangle, int radius);
Paraméterek:
 
x,y  középpont koordinátái
stangle kezdeti szög
endangle végszög
radius sugár
Megjegyzés: Befest egy (x, y) középpontú, radius sugarú, stangle kezdõszögû és endangle végszögû körcikket a korábban definiált színnel és mintával. A kezdõ- és végszöget az óramutató járásával ellentéstes irányban kell megadni, ahol a 0 fok 3 óránál van, a 90 fok pedig 12 óránál van.
 

putimage graphics.h


Korábban tárolt képmezõ ráhelyezése a képernyõre.
          #include <graphics.h>
          void far putimage(int left, int top,
                            void far *bitmap, int op);
Paraméterek:
 
left, top a képernyõn a téglalap alakú tartomány bal felsõ sarokpontja
bitmap pointer, amely a képmezõt tartalmazó területre mutat
op bináris mûvelet a kihelyezendõ tartomány pontjai és a képernyõ pontjai között
Megjegyzés: A tárolt képmezõ és a képernyõ képpontjai között az alábbi bináris mûveletek definiálhatók:

azonosító érték leírás

COPY+PUT 0 rámásolja
XOR_PUT 1 kizáró vagy kapcsolat
OR_PUT 2 vagy kapcsolat
AND_PUT 3 és kapcsolat
NOT_PUT 4 a képmezõ inverzét másolja


 

putpixel graphics.h


Egy képpontot rajzol az (x,y) pontban.
          #include <graphics.h>
          void far putpixel(int x, int y, int color);
Paraméterek:
 
x,y a pont koordinátái
color a pont színe
Megjegyzés: Az (x, y) pontban a képpontot az adott színnel rajzolja.
 

rectangle graphics.h


Téglalapot rajzol.
          #include <graphics.h>
          void far rectangle(int left, int top,
                             int right, int bottom);
Paraméterek:
 
left, top a téglalap bal felsõ sarka
right, bottom a téglalap jobb alsó sarka
Megjegyzés: A téglalapot az aktuális színnel és vonaltípussal rajzolja.
 

restorecrtmode graphics.h


Visszaállítja azt a képernyõ üzemmódot, amelyik az initgraph aktiválása elõtt volt érvényben.
          #include <graphics.h>
          void far restorecrtmode(void);
Megjegyzés: A restorecrtmode visszaállítja az eredeti video módot, amelyet az initgraph érzékelt. A setgraphmode függvény visszakapcsolja a grafikus üzemmódot. A textmode függvényt csak akkor használhatjuk, ha szöveges üzemmódban van a képernyõ és különbözõ text módokat akarunk váltani.
 

sector graphics.h


Egy ellipszis ívet rajzol és befest.
          #include <graphics.h>
          void far sector(int x, int y,
                          int stangle, int endangle,
                          int xradius, int yradius);
Paraméterek:
 
x,y középpont koordinátái
stangle kezdõszög
endangle végszög
xradius vízszintes tengely
yradius függõleges tengely
 

setactivepage graphics.h


Új lapot nyit meg a grafikus output számára.
          #include <graphics>
          void far setactivepage(int page);
Paraméter

page    lap száma

Megjegyzés: Több lap használatát csak az EGA (256K), a VGA és a Hercules grafikus kártya teszi lehetõvé. A setvisualpage függvény hívásával váltogathatjuk a látható lapokat, ez segítséget nyújt az animáció számára.
 


setallpalette graphics.h


Változtatja a paletta színeit.
     #include <graphics.h>
     void far setallpalette(struct palettetype far *palette);
Paraméter:

palette    egy palettetype típusú struktúrára mutató pointer.

Megjegyzés: EGA/VGA paletta színeket lehet változtatni a setallpalette függvénnyel. A palettetype struktúra a következõ:

          #define MAXCOLOR 15
          struct palettetype
          {
            unsigned char size;
            signed char colors[MAXCOLORS+1];
          }
Lehetséges színek:
 
CGA EGA/VGA

név szín név szín

BLACK 0 EGA_BLACK 0
BLUE 1 EGA_BLUE 1
GREEN 2 EGA_GREEN 2
CYAN 3 EGA_CYAN 3
RED 4 EGA_RED 4
MAGENTA 5 EGA_MAGENTA 5
BROWN 6 EGA_LIGHTGRAY 7
LIGHTGRAY 7 EGA_BROWN 20
DARKGRAY 8 EGA_DARGRAY 56
LIGHTBLUE 9 EGA_LIGHTBLUE 57
LIGHTGREEN 10 EGA_LIGHTGREEN 58
LIGHTCYAN 11 EGA_LIGHTCYAN 59
LIGHTRED 12 EGA_LIGHTRED 60
LIGHTMAGENTA 13 EGA_LIGHTMAGENTA 61
YELLOW 14 EGA_YELLOW 62
WHITE 15 EGA_WHITE 63


 
A tömbben a szín helyén -1 van, ott a paletta színe nem változik.
 

setaspectratio graphics.h


Változtatja a figyelembe veendõ vizszintes/függõleges képarányt. |
          #include <graphics.h>
          void far setaspectratio(int xasp, int yasp);
Paraméterek:

xasp, yasp aránytényezõk

Megjegyzés: Ha a beépített képaránnyal egy kör torzult, akkor a hibát szoftver úton kiküszöbölhetjük, ha az arányokat változtatjuk.
 


setbkcolor graphics.h


Beállítja a háttér színét.
          #include <graphics.h>
          void far setbkcolor(int color);
Paraméter:

color     egy szín a palettából, amely lehet egy szám (0-15), vagy a szín szimbólikus neve

Megjegyzés: A color paraméterrel az alábbi módon állíthatjuk be kékre a háttér szinét

          setbkcolor(BLUE);
A háttér színként az alábbiakat használhatjuk:
 

Szám Név Szám Név

0 BLACK 8 DARKGRAY
1 BLUE 9 LIGHTBLUE
2 GREEN 10 LIGHTGREEN
3 CYAN 11 LIGHTCYAN
4 RED 12 LIGHTRED
5 MAGENTA 13 LIGHTMAGENTA
6 LIGHTGRAY 14 YELLOW
7 BROWN 15 WHITE


 

setcolor graphics.h


Beállítja a rajzolás színét.
          #include <graphics.h>
          void far setcolor(int color);
Paraméter

color     egy szín a palettából

Megjegyzés: A color paraméter értéke 0-tól getmaxcolor által visszaadott értékéig változhat, amely a rajzolás színét állítja be. EGA esetén 0-tól 15-ig változhat.

A rajzolás színei CGA esetén
 


Paletta Pixel szín-értéke mód
1 2 3

0 CGA_LIGHTGREEN CGA_LIGHTRED CGA_YELLOW CGAC0
1 CGA_LIGHTCYAN CGA_LIGHTMAGENTA CGA_WHITE CGAC1
2 CGA_GREEN CGA_RED CGA_BROWN CGAC2
3 CGA_CYAN CGA_MAGENTA CGA_LIGHTGRAY CGAC3


 
A CGA grafikus kártya esetén egyszerre csak négy színt használhatunk, amelybõl egy a háttérszín. A 4 grafikus módból azt a módot válasszuk ki, amelynek a rajzolási színértékeit akarjuk felhasználni. Természetesen a módokat váltogathatjuk. Például CGAC0 módban a paletta 4 színt tartalmaz. Ezek: a háttérszín, halvány zöld, halvány piros és sárga. Ebben a módban a setcolor(CGA_YELLOW) hívás sárgát választja ki rajzolási színnek.
 

setfillpattern graphics.h


Bitképet definiál a USER_FILL festõminta számára (lásd setfillstyle)
          #include <graphics.h>
          void far setfillpattern(char far *upattern,
                                  int color);
Paraméterek:
 
upattern pointer egy 8 byte hosszú memória területre, ez tartalmazza a mintát
color szín
 

setfillstyle graphics.h


Beállítja a festõmintát és a színt.
          #include <graphics.h>
          void far setfillstyle(int pattern, int color);
Paraméterek:
 
pattern minta
color szín
Megjegyzés: A mintaválasztékot lásd a getfillsettings függvény ismertetésénél.
 

setgraphbufsize graphics.h


Változtatja a belsõ grafikus buffer méretét.
          #include <graphics.h>
          unsigned far setgraphbufsize(unsigned bufsize);
Paraméter:

bufsize     a buffer mérete

Megjegyzés: A beépített buffer mérete 4096 byte. Ha kisebb is elég, akkor memória területet lehet megtakarítani. Ha a buffer kevésnek bizonyul, -7 hibajelzést kapunk. A beépített buffer mérete egy 650 töréspontú poligon befestéséhez elegendõ. Ha ennél több töréspontú poligont akarunk befesteni, akkor meg kell növelni a buffer méretét, hogy elkerüljük a buffer túlcsordulását.
 


setgraphmode graphics.h


Beállítja a grafikus módot és törli a képernyõt.
          #include <graphics.h>
          void far setgraphmode(int mode);
Paraméter:

mode     a beépített grafikus kártya érvényes módja
 


setlinestyle graphics.h


Beállítja a vonal típusát és vastagságát.
          #include <graphics.h>
          void far setlinestyle(int linestyle, 
                                unsigned upattern,
                                int thickness);
Paraméterek:
 
linestyle vonaltípus
upattern vonaltípus minta
thickness vonalvastagság
Megjegyzés: A linesettingstype struktúra a graphics.h file-ban van definiálva:
          struct linesettingstype
          {
            int linestyle;
            unsigned upattern;
            int thickness;
          }
A linestyle paraméter értéke az alábbi lehet:
 

név érték leírás

SOLID_LINE 0 teljes vonal
DOTTED_LINE 1 pontozott vonal
CENTER_LINE 2 középvonal
DASHED_LINE 3 szaggatott vonal
USERBIT_LINE 4 bitmintával megadott


 
A thickness paraméter az alábbi lehet:
 

név érték leírás

NORM_WIDTH 1 normál vastagságú (1 pixel széles)
THICK_WIDTH 3 vastag vonal (3 pixel széles)


 

setpalette graphics.h


Egy paletta színt változtat.
          #include <graphics.h>
          void far setpalette(int colornum, int color);
Paraméterek:
 
colornum szín sorszáma a táblázatban
color szín
Megjegyzés: Ha a colornum értéke 0 és a color értéke GREEN, akkor az elsõ elem zöld lesz. A beépített színkonstansok sorszámát lásd a setallpalette függvény leírásánál.
 

settextjustify graphics.h


Szöveg helyzetének beállítása az outtext és az outtextxy eljárások számára.
          #include <graphics.h>
          void far settextjustify(int horiz, int vert);
Paraméterek:
 
horiz vízszintes beállítás
vert függõleges beállítás
Megjegyzés: A horiz és a vert paraméterek az alábbi értékeket vehetik fel:

név érték leírás paraméter

LEFT_TEXT 0 balra horiz
CENTER_TEXT 1 középre horiz, vert
RIGHT_TEXT 2 jobbra horiz
BOTTOM_TEXT 0 aljára vert
TOP_TEXT 2 tetejére vert


settextstyle graphics.h


Beállítja az aktuális karakterkészlet típusát és méretét.
          #include <graphics.h>
          void far settextstyle(int font, int direction,
                               int charsize);
Paraméterek:
 
font a karakterkészlet neve
direction az írás iránya
charsize karakterek mérete
Megjegyzés: A font paraméter az alábbi értékeket veheti fel

név érték leírás

DEFAULT_FONT 0 8*8 pixeles karakterekl
TRIPLEX_FONT 1 3 vonalas karakterek
SMALL_FONT 2 kisméretû karakterek
SANS_SERIF_FONT 3 talp nélküli karakterek
GOETHIC_FONT 4 gótikus karakterek


A direction paraméter az alábbi értékeket veheti fel:

név érték leírás

HORIZ_DIR 0 balról jobbra
VERT_DIR 1 alulról felfelé


 
A charsize paraméter lehetséges értékei:
 
1 8*8 bitmintájú lesz a karakter
2 16*16 bitmintájú lesz a karakter
...
10 maximum
0 vagy a beépített 4-es faktor, 
vagy a felhasználó által definiált méretû


setusercharsize graphics.h


A karakter szélességének és magasságának változtatása.
          #include <graphics.h>
          void far setusercharsize(int multx, int divx,
                                   int multy, int divy);
Paraméterek:
 
multx, divx multx / divx szorzódik a beépített szélességgel
multy, divy multy / divy szorzódik a beépített magassággal
 

setviewport graphics.h


Ablakot jelöl ki a grafikus képernyõn.
          #include <graphics.h>
          void far setviewport(int left, int top, int right,
                               int bottom, int clip);
Paraméterek:
 
left, top az ablak bal felsõ sarka
right, bottom az ablak jobb alsó sarka
clip pozitív esetén a kivágást bekapcsolja, nulla esetén kikapcsolja
Megjegyzés: A továbbiakban minden koordinátapont az adott ablakhoz lesz viszonyítva. A clip paraméter határozza meg, hogy az ablakból kinyúló vonalak látszanak-e.
 

setvisualpage graphics.h


Láthatóvá teszi az adott grafikus ablakot.
          #include <graphics.h>
          void far setvisualpage(int page);
Paraméter:

page a lap száma

Megjegyzés: Több lap használata csak EGA (256K), VGA és Hercules grafikus kártya esetén lehetséges.
 


setwritemode graphics.h


Beállítja az írásmódot a vonalrajzolás számára.
          #include <graphics.h>
          void far setwritemode(int mode);
Paraméter:

mode     kétfajta lehet, az alábbi konstansok közül választhatunk:


Szimbólum érték leírás

COPY_PUT 0 másolás
XOR_PUT 1 kizáró vagy


Megjegyzés: A COPY_PUT a MOV assembler utasítást használja fel, a vonal felülírja a képernyõt. Az XOR_PUT az XOR utasítást hajtja végre a vonal pontjai és a képernyõ pontjai között. Két egymásután következõ XOR utasítás a vonalat letörli és a képernyõn az eredeti kép marad meg.
 

textheight graphics.h


Visszatér a szöveg képpontokban mért magasságával.
          #include <graphics.h>
          int far textheight(char far *textstring);
Paraméter:

textstring     szövegre mutató pointer
 


textwidth graphics.h


Visszatér a szöveg képpontokban mért szélességével.
          #include <graphics.h>
          int far textwidth(char far *textstring);
Paraméter:

textstring     szövegre mutató pointer


next up previous contents
Elõre: Általános könyvtári függvények Fel: Fontosabb könyvtári függvények Vissza: Hangeffektusok létrehozása