2013-02-27 50 views
0

我在找drawpolygon方法尋求幫助。我沒有任何運氣可以獲得任何工作。尋找做5個三角形,相同的大小,彼此相鄰。問題是我必須使用do-while循環。感謝您花時間幫助我!使用do-while循環的Visual Basic drawpolygon方法?

+0

你有沒有得到這個解決,克利夫? – clweeks 2013-03-01 16:26:24

回答

2

在數組就定義了一個點,然後用鋼筆寫出來:

Dim blackPen As New Pen(Color.Black, 3) 

Dim point1 As New Point(50, 50) 
Dim point2 As New Point(100, 25) 
Dim curvePoints As Point() = {point1, point2} 

Me.CreateGraphics.DrawPolygon(blackPen, curvePoints) 

看看在MSDN Documentation了。

如果您在循環中執行任何操作,則取決於方法。如果這沒有解決您的問題發佈您的代碼,以幫助您更多。

實例與一個循環:

Do While i < 3 
    point1 As New Point(50 + i * 10, 50) 
    point2 As New Point(100 + i * 7, 25) 

    curvePoints = {point1, point2} 
    Me.CreateGraphics.DrawPolygon(blackPen, curvePoints) 
    i += 1 
Loop 
+0

我無法獲得該代碼的工作。我給了我錯誤。我真的迷失在此。這工作,但不是你給我的代碼的下半部分。任何想法?我畫了1行然後凍結。尋找像5個三角形暗淡我作爲整數 昏暗blackPen作爲新筆(Color.Black,3) 做,當I <3 昏暗點1作爲新的點(50,50) 昏暗POINT2作爲新點(100,25 ) 昏暗curvePoints作爲點()= {點1,點2} Me.CreateGraphics.DrawPolygon(blackPen,curvePoints) 循環 – Cliff 2013-02-27 12:59:42

+0

@Cliff凍結,因爲它只是一個例子,它的無限循環......你不得不修改櫃檯'我'。我編輯我的示例,但必須將其應用於自己的案例。 – SysDragon 2013-02-27 13:10:58

+0

我還是很困惑。我很感激你花時間幫助我。如果我複製代碼的兩個部分,它會在下半部分給我一個錯誤。調試時,point1,point2和curvepoints都有錯誤。獲取像錯誤方法參數必須括在圓括號中。 \t錯誤表達式不是一種方法。 – Cliff 2013-02-27 13:33:00

0

我沒有實際測試這種結構,但是這一切都剪斷了一個工作項目;我懷疑它會起作用,而且這些GDI +的東西真的很蹩腳,第一次拿起。

Public Class Form1 
Private subject As Image 

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint 
    If Not subject Is Nothing Then 
     Dim g As Graphics = e.Graphics 
     g.DrawImage(subject, New Point(1, 1)) 
    End If 
End Sub 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim tempBM As New Bitmap(subject) 
    tempBM.SetResolution(subject.HorizontalResolution, subject.VerticalResolution) 
    Using g As Graphics = Graphics.FromImage(tempBM) 
     g.DrawPolygon(OutlinePen, Polygon.GetPoints) 
    End Using 
    subject = tempBM 
    Invalidate() 
End Sub 
End Class 

哦,多邊形是我的代碼中的一個類,你不會有。但是,只需將Polygon.GetPoints替換爲您想要使用的任意點數組即可。