Professional Documents
Culture Documents
بلغة C++
اصنع مستقبلك بنفسك
ENG.AHLAM ALI
GRAPHICS مكتبة
1 المحاضرة
ENG.AHLAM ALI
العناوين
• مقدمة
• تنصيب وتجهيز بيئة العمل
• توضيح اهم مكونات البرنامج
• دوال رسم الخط
• دوال )(getmaxx(),getmaxy
ENG.AHLAM ALI
هيكلية بناء البرنامج
شرح االساسيات
مكتبة graphics.h
هي مكتبة رسومات تُستخدم في لغة ++C/Cإلنشاء وتحكم في الرسومات على الشاشة.
تسمح لك هذه المكتبة برسم أشكال هندسية مختلفة مثل الخطوط ،الدوائر ،المستطيالت ،
النصوص ،والصور .
➢ هي توفير واجهة برمجية بسيطة للتعامل مع الرسومات على الشاشة.
بعض من الدوال التي توفرها مكتبة " "graphics.hهي
)(، rectangle() ، circle() ، line() ، closegraph() ،initgraph
)(setbkcolor() ،setcolor() ،outtextxy() ، arc
ENG.AHLAM ALI
هيكلية بناء البرنامج
شرح االساسيات
مكتبة conio.h
هي مكتبة تستخدم في لغة ++C/Cلتوفير واجهة أوامر المستخدم والتحكم في اإلدخال واإلخراج .توفر هذه
المكتبة وظائف (دوال) للتالعب بالنصوص المعروضة على الشاشة والتعامل مع إدخال المستخدم واإلخراج
على الشاشة .
بعض من الدوال التي توفرها مكتبة " "conio.hهي )(، gotoxy() ، clrscr() ، getch
)(delay() ، textbackground() ، textcolor
ENG.AHLAM ALI
هيكلية بناء البرنامج
شرح االساسيات
شرح االساسيات
دالة )(initgraph
تنتمي هذه الدالة إلى مكتبة " "graphics.hوتُستخدم إلعداد النافذة الرسومية والبدء في عرض
الرسومات عليها.
وظيفة الدالة )( : initgraphتهدف إلى إصالح وتهيئة النافذة الرسومية وتحضيرها لعرض الرسومات بنا ًء على
المعرف ووضع الرسومات التي تم تحديدها.
بعد استدعاء دالة )( initgraphيمكننا استخدام الدوال األخرى في مكتبة " "graphics.hمثل
)(، arc() ، rectangle() ، circle() ، line() ، closegraph() ، initgraph
)( setbkcolor() ،setcolor() ،outtextxyإلخ ،لرسم األشكال والعناصر على النافذة الرسومية.
ENG.AHLAM ALI
هيكلية بناء البرنامج
شرح االساسيات
داله )(getch
هي الدالة التي تقوم بتثبيت شاشة الجرافيك(الرسم)
;)(closegraph
دالة تنتمي إلى مكتبة " "graphics.hوتُستخدم إلغالق وإنهاء النافذة الرسومية
وإيقاف عرض الرسومات عليها ،وهذا يساعد في تحرير الذاكرة وموارد النظام
المستخدمة بواسطة النافذة الرسومية.
ENG.AHLAM ALI
تمارين
getmaxx()=480 getmaxx()/2=240
getmaxy()=640 getmaxy()/2=320
ENG.AHLAM ALI
دوال رسم االشكال
;)PUTPIXCEL(X,Y,COLOR دالة رسم النقطة
;)LINE(x1,y1,x2,y2 دالة رسم الخط
دالة رسم الخط من النقطة 0,0الى مسافه dx,dy
;)MOVETO(x,y ;)LINEREL(dx,dy
;)MOVEREL(dx,dy دالة رسم الخط من النقطة 0,0الى النقطة x, y
;)LINETO(x,y
دوال تقوم بتغير موقع النقطة الحالية بإزاحة بمقدار dx & dy
;)MOVEREL(dx,dy
دالة تقوم بتغيير موقع النقطة الحالية الى النقطة x & y
ENG.AHLAM ALI ;)MOVETO(x,y
تمرين
ENG.AHLAM ALI
#include <iostream>
#include<graphics.h> حل التمارين
#include<conio.h>
using namespace std;
int main() {
int gdriver=DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode,"");
line(150,100,450,100);
line(150,100,100,180);//ritght
line(450,100,500,180);//left
line(100,180,500,180);
//////////////////////////
line(100,200,500,200);//up
line(100,200,300,450);
line(500,200,300,450);
getch(); return 0; }
ENG.AHLAM ALI
التكليف
ENG.AHLAM ALI