Kreis zeichnen

StephanFuchs

Grünschnabel
Hallo Zusammen!

Ich wechselte von Visual Basic 6.0 nach Visual Basic 2005 .NET.

Was ich suche ist eine Möglichkeit einen Kreis zu zeichnen, indem ich eine X und Y Koordinate angebe für den Kreismittelpunkt sowie einen Radius.

e.Graphics.DrawEllipse ist mir bekannt, jedoch komme ich mit dieser Form recht schlecht zurecht. Gibt es eine Möglichkeit eine Prozedur zu entwickeln, die mir dies in Zukunft abnimmt?

Ich erwarte selbstverständlich nicht, dass man diese für mich hier veröffentlicht. Ein paar Gedankenanregungen zu einer solchen Prozedur würden mir genügen, da ich schon seit mehreren Tagen auf dem Schlauch stehe.

Die Art soll sein:

Sub DrawCircle(byVal x as Integer, byVal y as Integer, byVal r as Integer)
...
End Sub​

x soll für die X-Koordinate stehen, y für die Y-Koordinate und r für den Radius.

Hat jemand eine Idee, wie die Umrechnung dieser Angaben für die DrawEllipse-Funktion der GDI+ aussehen könnte? Oder kann mir jemand mathematisch auf die Sprünge helfen?

Herzlichen Dank für Eure Hilfe

Lieben Gruß
Stephan
 
Hallo Zusammen!

Ich kam nun nach einigen Überlegungen zu folgender Lösung.

Sub drawCircle(ByVal x As Integer, ByVal y As Integer, ByVal r As Integer, ByVal e As System.Windows.Forms.PaintEventArgs)
Dim x1, y1 As Integer
Dim p As Pen
p = Pens.Black
x1 = x - r
y1 = y - r
e.Graphics.DrawEllipse(p, x1, y1, 2 * r, 2 * r)
End Sub​

Vielleicht hilft es jemandem weiter oder jemand hat eine andere Lösung.

Gruß
Stephan
 
hi...
ich hab hier aus nem beispielproject was. wie genau des geht weiß nich aba vielleicht hilft
es dir.
Code:
 Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        Dim rec As Rectangle
        With rec
            .X = 10 : .Y = 10
            .Width = 200 : .Height = 100
        End With
        e.Graphics.DrawRectangle(Pens.Blue, rec)
        e.Graphics.FillEllipse(Brushes.Green, rec)
        e.Dispose()
    End Sub

    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        Dim rec As New Rectangle(10, 10, 200, 100)
        Dim b As New SolidBrush(Color.Yellow)
        e.Graphics.FillRectangle(b, rec)
        Dim p As New Pen(Color.Red, 2)
        e.Graphics.DrawEllipse(p, rec)
    End Sub

das sind zwei verschiedene kreise. sind mehr owahl. kamann bestimmt ändern
 
Zurück