الاثنين، 22 يوليو 2013

دوره سي شارب الدرس 13- البداية مع gdi+


دوره سي شارب
الدرس 13- البداية مع gdi+
السلام عليكم ورحمة الله وبركاته...
 ماهي ال 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+ بعد بل ما زالت طويلة تجدها في المستوى المتقدم إن شاء الله...
مع تحياتي:عبدالقادر البعداني

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

ليست هناك تعليقات:

إرسال تعليق