![]() |
|
سؤال وجواب - الأسبوع الأول - كيف أقوم برسم بعض الأشكال الهندسية - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : سؤال وجواب - الأسبوع الأول - كيف أقوم برسم بعض الأشكال الهندسية (/showthread.php?tid=5055) |
سؤال وجواب - الأسبوع الأول - كيف أقوم برسم بعض الأشكال الهندسية - RaggiTech - 04-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته . السؤال : كيف أقوم برسم بعض الأشكال على الفورم ؟ الإجابة : قبل البداية معظم الأوامر المستخدمة في عمليات الرسم تقع ضمن هذه الفئة : System.Drawing لذا قم بعمل Import لهذه الفئة في أول البرنامج . الخطوة الثانية هي إنشاء كائن الرسم من نوع Graphics ، ولكن لا يمكنك انشاءه مباشرة بل لا بد من استخدامه من مكان آخر ، بالشكل التالي مثلاً : كود : Dim myGraphic As Graphics = Form1.CreateGraphics()كود : Dim myGraphic As Graphics = e.Graphicsالخطوة الثالثة هي استخدام أحد الطرق في Graphics ، فمثلاً لرسم خط مستقيم : كود : myGraphic.DrawLine(Pens.Blue, 20, 20, 100, 100)كود : myGraphic.DrawRectangle(Pens.Blue, New Rectangle(20, 20, 100, 100))وبالنسبة لرسم المنحنيات المعقدة يمكننا استخدام الطريقة DrawBezier() على سبيل المثال ، حيث نعطيه مجموعة من النقاط يقوم على أساسها برسم منحنى بالشكل التالي مثلاً : كود : myGraphic.DrawBezier(Pens.Blue, 10, 20, 50, 80, 10, 80, 100, 50)كود : Dim myPen As New Pen(Color.blue, 2)كود : myGraphic.DrawLine(myPen, 20, 20, 100, 100)الخاصية StartCap تحدد شكل البداية والنهاية للخط ، الأمر التالي يجعلها على شكل سهم مثلاً : myPen.StartCap = LineCap.ArrowAnchor طريقة أخرى للرسم وهي استخدام GraphicsPath لرسم أشكال معقدة ، ويمكن استخدامها بالشكل التالي مثلاً - مثال لرسم خطين في نفس الخطوة ، ويستخدم في رسم مثلث على سبيل المثال : كود : Dim myGraphicPath As New GraphicsPath()كود : myGraphic.DrawPath(myPen, myGraphicPath)كود : Dim myBrush As New SolidBrush(Color.Yellow)كود : Dim myBrush As New HatchBrush(HatchStyle.BackwardDiagonal _كود : myGraphic.FillEllipse(myBrush, 20, 20, 100, 100)*** وقبل النهاية أنوه إلى أنني استفدت الكثير من كتاب الأستاذ تركي العسيري (نحو برمجة كائنية التوجه .net ) . في ختام هذا الجزء الأول ، أنا في انتظار السؤال الذي ستتم الاجابة عليه الأسبوع المقبل والذي سيتم اختياره بناء على رغبة الأعضاء ، في انتظار المقترحات . والله الموفق ... والسلام عليكم ورحمة الله وبركاته . سؤال وجواب - الأسبوع الأول - كيف أقوم برسم بعض الأشكال الهندسية - RaggiTech - 04-10-12 كاتب المشاركة : Samarah
عذرا اخ حمد اتوقع ان الكود كود : myGraphic.DrawRectangle(Pens.Blue, New Rectangle(20, 20, 100, 100))كود : myGraphic.DrawRectangle(Pens.Blue, New Rectangle(20, 30, 100, 150)) |