متد DrawCurve :
این متد برای کشیدن خطوط خمیده استفاده میشه به صورتی که پارامتری که بعد از قلم دریافت میکند یک آرایه از کلاس Point بوده و نقاطی را که باید به هم وصل شوند را مشخص میکند.
اگر این متد را با دو پارامتر به کار ببریم یعنی پارامتر Pen و آرایه Point در این صورت مقدار خمیدگی ها به حالت پیش فرض 0.5 میبا شد :
Dim objGr As Graphics = Me.CreateGraphics
Dim myPoints1() As Point = { _
New Point(50, 50), _
New Point(50, 150), _
New Point(150, 150), _
New Point(150, 50)}
objGr.DrawCurve(New Pen(Color.Blue), myPoints1)
ولی اگر بخواهیم مقدار خمیدگی نقاط اتصال را خودمان وارد کنیم :
Dim myPoints2() As Point = { _
New Point(50, 200), _
New Point(50, 300), _
New Point(150, 300), _
New Point(150, 200)}
objGr.DrawCurve(New Pen(Color.Red), myPoints2, 0.8)
تو مثال بالا ما مقدار tension یا خمیدگی رو خودمون مقدار دهی کردیم.
و این هم یک مثال کامل :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objGr As Graphics = Me.CreateGraphics
Dim myPoints1() As Point = { _
New Point(50, 50), _
New Point(50, 150), _
New Point(150, 150), _
New Point(150, 50)}
objGr.DrawCurve(New Pen(Color.Blue), myPoints1)
Dim myPoints2() As Point = { _
New Point(50, 200), _
New Point(50, 300), _
New Point(150, 300), _
New Point(150, 200)}
objGr.DrawCurve(New Pen(Color.Red), myPoints2, 0.0)
End Sub
End Class
متد DrawClosedCurve :
این متد دقیقا کار متد DrawCurve رو انجام میده با این تفاوت که انتهای نقطه رو به ابتدای نقطه وصل میکنه یا اگه بخوام بهتر بگم اندیس اخر آرایه Point رو به اندیس اول وصل میکند .
با یه مثال کامل میکنیم :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objGr As Graphics = Me.CreateGraphics
Dim myPoints1() As Point = { _
New Point(50, 50), _
New Point(50, 150), _
New Point(150, 150), _
New Point(150, 50)}
objGr.DrawClosedCurve(New Pen(Color.Blue), myPoints1)
Dim myPoints2() As Point = { _
New Point(50, 200), _
New Point(50, 300), _
New Point(150, 300), _
New Point(150, 200)}
objGr.DrawCurve(New Pen(Color.Red), myPoints2)
End Sub
End Class
تو مثال بالا ما تو هر کدوم از آرایه هامون چهار تا اندیس داریم که در واقع سه تا خط برای ما میتونه مشخص بکنه اما ما با DrawClosedCurve چهار تا خط رو کشیدیم.
متد DrawPolygon :
این متد برای کشیدن چند ضلعی استفاده میشه .
مثال :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objGr As Graphics = Me.CreateGraphics
Dim myPoints() As Point = { _
New Point(100, 100), _
New Point(50, 150), _
New Point(50, 200), _
New Point(100, 250), _
New Point(150, 250), _
New Point(200, 200), _
New Point(200, 150), _
New Point(150, 100), _
New Point(100, 100)}
objGr.DrawPolygon(Pens.Blue, myPoints)
End Sub
End Class
تو مثال بالا ما یک آرایه Point داریم که 9 تا اندیس داره که یک 8 ضلعی میکشه.
البته اگه اندیس آخر رو از آرایه حذف کنیم فرقی نمیکنه چون این متد هم اندیس اخر رو به اندیس اول وصل میکنه.
ادامه داره ...