You are on page 1of 4

C de grafik

Bu dkmanda sizlere c de grafik ktphanesini nasl ekleyecegimizi ve ilgili fonksiyonlar anlatmaya


calsacagm.
Derleyici olarak Turbo C++ derleyicisini kullandm..

C de grafik fonksiyonlar kullanabilmemiz iin graphics.h ktphanesi eklememiz gerekmektedir.

Turbo C++ derleyicisinde zaten bulunmakta fakat aktif durumda degildir.Bunu aktif hale getirmek iin iki yol
var.Brincisi komut satrna C:\\TCLIB>tlib cs +graphics.lib ikincisi ise turbo c++ mensnden
options>linker>libraries secerek aclan pencerede Graphics library kutucugunu iaretlemek olacaktr.
--------------------------------------------------------------------------------------

**Mevcut olan baz fonksiyonlar.**

arc() Fonksiyonu
void arc(int,int,int,int,int); //Ekrana yay izdirmek iin kullanlr

bar() Fonksiyonu
void bar(int,int,int,int); //Ekrana bar izdirmek iin kullanlr

circle() Fonksiyonu
void circle(int,int,int); //Ekrana daire izer

drawpoly() Fonksiyonu
void drawpoly(int,int *); //Ekrana cokgen izer

getmaxx() Fonksiyonu
int getmaxx(); //Kulanlan modda en yksek znrln x degerini verir

getmxy() Fonksiyonu
int getmaxy(); //Kullanlan modda en yksek znrln y degerini verir

line() Fonksiyonu
void line(int,int,int,int); //Ekrana dz izgi izer.

graphresult() Fonksiyonu
int graphresult(); //Ekrana hata mesaj verir.

initgraph() Fonksiyonu
void initgraph(int*int*char*); //Grafik modunu hazrlamak iin kullanlr..

rectangle() Fonksiyonu
void rectangle(int,int,int,int); //Ekrana dikdrtgen izer

Grafik ktphanesinde bunun benzeri bircok fonksiyon bulunmaktadr.Derleyicinin yardm ksmnda grafik
ktphanesiyle ilili bircok fonksiyona ulasabilirsiniz.

lk nce basit bi program yazalm ve grafik modunun temel kullanmn grenelim

#include<stdio.h>
1 #include<graphics.h>
2 #include<conio.h>
3 #include<process.h>

4 int main(){

5 int driver,mode;
6 int errcode=0;
7 driver=DETECT;

8 initgraph(&driver,&mode,"C:\\TC\\BGI");
9 errcode=graphresult();

10 if(errcode!=0){//hata varmi kontrol et


11 printf("graph error:%d",errcode);
12 exit(1); //hata ile cik
13 }

14 line(0,40,200,40); //yatay cizgi ciz


15 getch();
16 closegraph();
17 return 0;

18 }

Bu program ekrana yatay izgi izmemizi salayacaktr.

imdi alma mantgnm acklamaya calsacagm. Burdaki en nemli fonksiyonumuz initgraph fonksiyonudur.
Bu fonksiyon grafik modunu hazrlar.Bu fonksiyon parametre alr
1. Kullanlan ekran kart adresi
2.Mod numarasn tutacak adres
3.Ekran kart dosyasnn bilgisayardaki yer.("C:\\TC\\BGI")

Yedinci satrda initgraph fonksiyonuna gnderdigimiz DETECT parmetresi derleyicinin caslma annda maksimum
znrlkte caslmasn saglar.
Dokuzuncu satrda kullandgmz graphresult() fonksiyonu initgraph() caslmas sonrasnda hata olup olmadgn
denetler 0 dndrrse hata yoktur 0 dan farkl degerler hata anlamna gelir.

Ondrdnc satrda kullandgmz line() fonksiyonu yukarda belirttigimiz gibi dz izi cizmeye yarar.
Onaltnc satrdaki closegraph() fonksiyonu grafik modunu kapatmak iin kullanlr.

Simdide daire cizen programmz yazalm.

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<process.h>

int main(){

int driver,mode;
int errcode=0;
driver=DETECT;

initgraph(&driver,&mode,"C:\\TC\\BGI");
errcode=graphresult();
if(errcode!=0){ //hata varmi kontrol et
printf("graph error:%d",errcode);
exit(1); //hata ile cik
}

circle(320,240,10*20);

getch();
closegraph();
return 0;

}
Ders17:GrafikKullanm
BuksmdasadeceTurboCderleyicisineaitbasitgrafikuygulamalarksacaanlatlmtr.
rneklerdeverilengrafikfonksiyonlarANSIdebulunmamaktadr.BuyzdenbirokC
derleyicisinde,kendibnyesindefarklgrafikfonksiyonlaroluturulmutur.rneinLinux
ortamndakigrafikkullanmakiing2ktphanesigelitirilmitir.

GrafikEkrannaGei
Grafiksisteminegemekiin,initgraph()fonksiyonunukullanmakgerekir.Tmizimler
sadeceDOSortamndaalr.Grafikfonksiyonlarnnkullanlmasiingraphics.hbalk
dosyasprogramnbanailaveedilmelidir.Grafikilemleriiintemelilemler:

#include <graphics.h>
...
int surucu=DETECT,grmod; /* DETECT grafik surucusunu
otomatik secer */
initgraph(&surucu,&grmod,""); /* grafik ekrann balatr */
...
closegraph(); /* grafik ekrann kapatr */

eklindedir.

BazGrafikFonksiyonlar
BublmdeTurboCgrafikfonksiyonlarnnbazlartantlmtr.Bunlarndndabiok
fonsiyonvardr.Bufonksiyonlarderleyicininbavurukitabndanrenilebilir.

renkler : 0-15 arasnda (0-Siyah,15-mor) renk kodlar ile (yada ingilizce isimleri rnein
YELLOW gibi) tanmldr.

moveto(x,y); Son noktay (x,y) noktasna tar


lineto(x,y);
Son noktadan (x,y) noktasna dz bir
izgi izer.
line(x1,y1,x2,y2);
(x1,y1) noktasndan (x2,y2) noktasna
dz bir izgi izer.
circle(x,y,r);
Merkezi (x,y) olmak zere yarap r olan
bir ember izer.
Merkezi (x,y) noktasnda ve yarap r
arc(x,y,ba_a,bit_a,r); olan, ba_a asndan dan balayp
bit_a asna kadar bir yay izer.
ellipse(x,y,ba_a,bit_a,xr,yr); Elipsin bir paras olan yay, merkezi
(x,y) ve yaraplar xr, yr olacak biimde
ba_a asndandan balayarak bit_a
asna kadar bir yay izer.
putpixel(x,y,renk);
(x,y) noktasna verilen renkte bir nokta
izer.
Sol st kesi (sol,st) ve sa alt kesi
rectangle(sol,st,sa,alt); (sa,alt) koordinatlarnda olacak ekilde
bir dikdrtgen izer.
bar(sol,st,sa,alt); ki boyutlu ve taral bir bar izer.
bar3d(sol,st,sa,alt,derinlik,apka);
boyutlu n yzeyi taral bar izer.
apka 0 ise barn st ksm izilmez.
setcolor(renk); izilen olan eklin rengini belirler
setbkcolor(renk); Arka alann rengini belirler.
outtext(*yazlacak ifade);
Yazlacak bir ifadenin grafik ekrannda
yazdrmak iin kullanlr.
Grafik ekrannda yazlacak bir ifadeyi
outtextxy(x,y,*yazlacak ifade); (x,y) ile belirlenen noktadan balayarak
yazar.
Ekranda yazlacak olan bir karakterin
settextstyle(font,yaz yn,yaz boyutu); font'unu, ynn ve boyutunu belirler.
Yn:0 ise yatay, 1 ise dikey yazar.
cleardevice();
Ekran temizler. DOS taki CLS komutu
gibi.
closegraph();
Grafik ekrann kapatp normal yaz
ekranna dner. (DOS ekran).

You might also like