گرافیک ( Graphic)
Cplus Graphic
اکنون بیش از ۱۵ سال از انتشار کامپایلرهایی همچون ++Turbo C برای توسعه در محیط DOS می گذرد و در طی این سال ها امکانات و کتابخانه های بسیاری به زبان های C و ++C اضافه شده است از جمله STL در ++C که بسیاری از الگوریتم های معروف و پرکاربرد مانند پشته ، لیست پیوندی ،انواع صف ، انواع مرتب سازی ها و غیره را بدون نیاز به پیاده سازی در اختیار شما قرار می دهد که برای بهره مندی از این امکانات می بایست از کامپایلرهای جدید و به روز ۳۲/۶۴ بیتی استفاده کرد، از جمله:
++Visual C و ++minGW/Dev C (کد باز و رایگان) و C++Builder و …
نکته: امروزه در محیط های آموزشی سراسر دنیا از نسخه های رایگان این کامپایلرها و یا کامپایلرهای کد باز به عنوان جایگزینی برای ++Turbo C استفاده می کنند.
سوال- آیا می توان از توابع گرافیکی قدیمی graphics.h در محیط های جدید برنامه نویسی مانند Visual C++/Borland C++builder / gcc / mingw و … استفاده کرد؟
خیر، این توابع از جمله توابع ۱۶ بیتی قدیمی و منسوخ شده بورلند می باشند که برخلاف تفکر برخی از نوآموزان، جزئی از این زبان نیست.
توابع گرافیکی در ++C
فايل سر آيند <graphics.h>
توابع گرافيكي:
۱- راه انداز گرافيكي | inttgraph(&draiver,&mode,”path”); ۱ | ||
۲- نتيجه راه اندازي | graphresult(); ۲ | ||
۳- پاك كردن | cleardevice(); ۳ | ||
۴- ديدگاه | setviewport(i1,i2,i3,i4,i5); ۴ | ||
۵-پاك كردن ديدگاه | clearviewport(); ۵ | ||
۶- بازگشت به شيوه متني | restorecrtmode(); ۶ | ||
۷- پايان حالت گرافيكي | closegraph(); ۷ | ||
۸- رنگ آميزي | setcolor(i); ۸ | ||
۹- رنگ گذاري | setbkcolor(i); ۹ | ||
۱۰- تعيينpattern | setfillattern(s,i); ۱۰ | ||
۱۱- شيوه رنگ آميزي | setfillstyle(i1,i2); ۱۱ | ||
۱۲- رنگ گرداني | setpallette(i1,i2); ۱۲ | ||
۱۳-نمايش يك نقطه | putpixel(i1,i2,i3); ۱۳ | ||
۱۴- رنگ برداري از يك نقطه | getpixel(i1,i2); ۱۴ | ||
۱۵- رنگ آميزي | floodfill(i1,i2,i); ۱۵ | ||
۱۶-رنگ برداري | getcolor(); ۱۶ | ||
۱۷- پس رنگ برداري | getbkcolor(); ۱۷ | ||
۱۸- رسم خط | line(x1,y1,x2,y2); ۱۸ | ||
۱۹- رسم خط از يك نقطه معين | lineto(x,y); ۱۹ | ||
۲۰- رسم خط نسبي | linerel(x,y); ۲۰ | ||
۲۱-رسم دايره | circile(x,y,R); ۲۱ | ||
۲۲- رسم كمان | arc(x,y,start,end,R); ۲۲ | ||
۲۳-برش دايره | pieslice(i1,i2,i3,i4,i5); ۲۳ | ||
۲۴- پر كردن بيضي | fillellipse(i1,i2,i3,i4,i5,i6); ۲۴ | ||
۲۵- رسم بيضي | ellipse(i1,i2,i3,i4,i5,i6); ۲۵ | ||
۲۶- تابع برش | sector(i1,i2,i3,i4,i5,o6); ۲۶ | ||
۲۷- رسم مستطيل | rectangle(i1,i2,i3,i4); ۲۷ | ||
۲۸- رسم ميله | bar(i1,i2,i3,i4); ۲۸ | ||
۲۹- رسم ميله سه بعدي | bar3d(i1,i2,i3,i4,i5,i6); ۲۹ | ||
۳۰- رسم چند ضلعي | drawpoly(d,p); ۳۰ | ||
۳۱- پر كردن چند ضلعي | fillpoly(I,p); ۳۱ | ||
۳۲- نمايش متن | outtext(s); ۳۲ | ||
۳۳- نمايش متن در نقطه معين | outtextxy(x,y,s); ۳۳ | ||
۳۴- نحوه نمايش متن | settextstyle(i1,i2,i3); ۳۴ | ||
۳۵- تعين نقطه پيش فرض | moveto(x,y); ۳۵ | ||
۳۶- تعيين نقطه پيش فرض به صورت نسبي | moverel(x,y); ۳۶ |
تابع رنگ آميزي ;()setcolor
اين تابع براي رنگ ترسيمات به كار مي رود
مثال:
1 | setcolor(RED); or setcolor(4); |
رنگ ها عبارتند از:
رنگ | شماره | رنگ | شماره |
سياه | ۰ | خاكستري تيره | ۸ |
آبي | ۱ | نيلي فيروزه اي | ۹ |
سبز | ۲ | سبز روشن | ۱۰ |
نيلي | ۳ | آبي روشن | ۱۱ |
قرمز | ۴ | نيلي روشن | ۱۲ |
بنفش | ۵ | صورتي | ۱۳ |
قهوه اي | ۶ | زرد | ۱۴ |
خاكستري روشن | ۷ | سفيد | ۱۵ |
تعيين رنگ پس زمينه ;( setbkcolor(i
اين تابع براي رنگ پس زمينه به كار مي رود
مثال:
1 | setbkcolor(3); |
نمونه برنامه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include<graphics.h> #include<stdio.h> #include<conio.h> #include<stdlib.h> void main() { int gd=0,gm=0; initgraph(&gd,gm,"c:\tc\bgi"); if(garphresult() != graok) { puts("\ngraphics initalation error ! "); exit(1); } cleardevice(); setviewport(120,120,130,350,160,1); outtext)"this is a view port"); getch(); clearviewport(); restorecrtmode(); printf("We are now in text mode\n"); closegraph(); getch(); } |
Cplus Graphic Cplus Graphic Cplus Graphic Cplus Graphic Cplus Graphic Cplus Graphic Cplus Graphic Cplus Graphic