المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس 15: البداية مع gdi+ دورة C#


khaledbelal
02-12-2010, 03:18 AM
السلام عليكم ورحمة الله وبركاته...

ماهي ال GDI+ ...

إن هذه التقنية هي النسخة المطورة من ال GDI حيث تستخدم في الرسم لصنع أدوات جديدة خاصة مثلا أو لأي هدف يحتاج إلى رسم كالمخطط البياني ...

أولا : مبادئ في ال GDI+ :
أولا إنشئ مشروع جديد Windows Forms Application ثم ضع على الفورم Button واكتب في الحدث Click الخاص به ما يلي:


Graphics myg = this.CreateGraphics();
Pen myp = new Pen(Brushes.Red, 2);
myg.DrawLine(myp, 0, 0,this.Width,this.Height);
myg.Dispose();

جرب الكود ولاحظ...
سوف يرسم خط أحمر من الزاوية العليا اليسرى للفورم إلى الزاوية السفلى اليمنى...
ما الذي حصل؟
أولا:
عندما قمنا بتعريف ال Graphics المراد إستخدامه قمنا بذلك كما هو موضح بالشكل وبما أننا نرسم خارج الحدث Paint فإنه يجب عليك إستخدام هذه الطريقة...
ثانيا:
عندما عرفنا ال Pen قمنا بتحديد اللون كأحمر والعرض كـ 2 pixel ...
ثالثا:
قمنا برسم الخط عن طريق المتغير myg الذي عرفناه كـ Graphics عن طريق الأمر DrawLine
يتم إستخدام هذا الأمر كما هو واضح:

DrawLine(FirstX,FirstY,SecX,SecY);

وعلى هذا النمط أو عن طريق متغير من نوع Point ...

----- الأوامر الموجودة في المتغير myg -----

-DrawLine تم شرحه
-DrawArc لرسم صورة أو شكل هندسي
- DrawCurve رسم منحنى
- DrawBeziers أيضا لرسم المنحنيات..
- DrawEllipse لرسم الأشكال البيضوية..
- DrawIcon لرسم الأيقونات
- DrawLines رسم مجموعة من الخطوط
- DrawPie رسم مخطط بياني
- DrawString رسم نص
- DrawPath رسم مسار (( متغير من نوع GraphicPath ))
- DrawRectangle لرسم مستطيل
- DrawRectangles لرسم مجموعة من المستطيلات
- FillPie تعبئة مخطط بياني بلون ما..
- FillRectangle تعبئة مستطيل بلون ما
- FillPolygon تعبئة شكل بيضوي........
- FillPath تعبئة مسار .......

أمثلة...


المثال رقم 1 : رسم إطار منقط..

Graphics myg = this.CreateGraphics();
Pen myp = new Pen(Brushes.Red, 2);
myp.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot;
myg.DrawRectangle(myp, 5, 5, 100, 100);
myg.Dispose();

المثال رقم 2: رسم مثلث...

Graphics myg = this.CreateGraphics();
Pen myp = new Pen(Brushes.Red, 2);
System.Drawing.Drawing2D.GraphicsPath mypath = new System.Drawing.Drawing2D.GraphicsPath();
mypath.AddLine(new Point(10,10),new Point(50,50));
mypath.AddLine(new Point(50,50),new Point(10,50));
mypath.AddLine(new Point(10,50),new Point(10,10));
myg.DrawPath(myp, mypath);
myg.Dispose();

المثال رقم 3: تعبئة مستطيل...

Graphics myg = this.CreateGraphics();
myg.FillRectangle(Brushes.Gray, new Rectangle(50, 50, 400, 400));
myg.Dispose();

لم تنتهي رحلتنا مع ال GDI+ بعد بل ما زالت طويلة تجدها في المستوى المتقدم إن شاء الله...


إلى اللقاء في الدرس القادم إن شاء الله....


منقول من منتدى فيجوال بيسك للعرب

المشتاقة للجنة
02-13-2010, 03:41 AM
جزاك الله خيرا ووفق لما يحب ويرضى

khaledbelal
02-14-2010, 02:31 AM
اللهم امين واياكم