0

drawpolygonメソッドのヘルプを探しています。何かがうまくいくように運がなかった。同じサイズの5つの三角形を並べて作成しようとしています。問題は、do-whileループを使用する必要があることです。私を助けるために時間を割いてくれてありがとう!

4

2 に答える 2

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ドキュメントを見てください。

ループ内で何かを行うかどうかは関係ありませんが、方法によって異なります。これで問題が解決しない場合は、さらに役立つようにコードを投稿してください。

ループの例:

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
于 2013-02-27T08:37:26.390 に答える
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は私のコードではあなたが持っていないクラスです。ただし、Polygon.GetPointsを使用するポイントの配列に置き換えるだけです。

于 2013-02-27T18:38:31.960 に答える