عرض مشاركة واحدة
  #1  
قديم 02-12-2010, 03:18 AM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس 15: البداية مع gdi+ دورة C#

السلام عليكم ورحمة الله وبركاته...

ماهي ال GDI+ ...

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

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

كود PHP:
Graphics myg this.CreateGraphics();
Pen myp = new Pen(Brushes.Red2);
myg.DrawLine(myp00,this.Width,this.Height);
myg.Dispose(); 
جرب الكود ولاحظ...
سوف يرسم خط أحمر من الزاوية العليا اليسرى للفورم إلى الزاوية السفلى اليمنى...
ما الذي حصل؟
أولا:
عندما قمنا بتعريف ال Graphics المراد إستخدامه قمنا بذلك كما هو موضح بالشكل وبما أننا نرسم خارج الحدث Paint فإنه يجب عليك إستخدام هذه الطريقة...
ثانيا:
عندما عرفنا ال Pen قمنا بتحديد اللون كأحمر والعرض كـ 2 pixel ...
ثالثا:
قمنا برسم الخط عن طريق المتغير myg الذي عرفناه كـ Graphics عن طريق الأمر DrawLine
يتم إستخدام هذا الأمر كما هو واضح:

كود PHP:
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 : رسم إطار منقط..

كود PHP:
Graphics myg this.CreateGraphics();
Pen myp = new Pen(Brushes.Red2);
myp.DashStyle System.Drawing.Drawing2D.DashStyle.DashDotDot;
myg.DrawRectangle(myp55100100);
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: تعبئة مستطيل...

كود PHP:
Graphics myg this.CreateGraphics();
myg.FillRectangle(Brushes.Gray, new Rectangle(5050400400));
myg.Dispose(); 
لم تنتهي رحلتنا مع ال GDI+ بعد بل ما زالت طويلة تجدها في المستوى المتقدم إن شاء الله...


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


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


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس