Linien nachzeichnen, so das ein Körper entsteht

meste

Erfahrenes Mitglied
Hi allerseits!

Ich hätte eine Frage. Ist es möglich im .NET, wenn man bsp. 2 Eingabefelder hat, die ein RWDreieck od. Rechteck usw. berechnen soll, anhand von der Eingabefelder in einer Picturebox oder ähnliches auch die Linien nachzeichnet. So das man dann auch sehen kann wie der Körper dann auch aussieht. Natührlich bis zu einem Grenzwert.
 
Hi.

Das kannst du mit GDI+ machen.
Die Grenzwerte fragst mit IF ab, so:

Code:
if(ZahlX > 100)
{
        MessageBox.Show("Zahl liegt ausserhalb der Grenzwerte!");
}
else
{
       //Zeichnen
}


MfG Alexander12
 
Danke für die Tipps. Es hat mir schon weiter geholfen, allerdings hätte ich noch ne Frage. Ich schreibe gerade ein Programm, welches mir verschieden Körper berechnen soll. Dafür habe ich wie schon erwähnt zwei Eingabefelder zum berechnen von Fläche und Umfang von den Körpern. Dazu habe ich noch RadioButtons zum auswählen zw. versch. Körpern. Das alles in die Schaltfläche Berechnen eingebaut.
Code:
Dim g As Graphics = PictureBox1.CreateGraphics
        Dim myPen As New Pen(Color.Red)
        myPen.Width = 2
Danach in der jeweiligen Select Anweisung soll der Körper gezeichnet werden.
Code:
ElseIf RWdreieck.Checked Then
            dblergebnis = dblfeld1 * dblfeld2 / 2
            g.DrawLine(myPen, 10, 10, 45, 65)
Wie bzw. wo kann ich eingeben das es bsp. die länge = dblfeld1 und breite = dblfeld2 sein soll.
Danke im vorraus
 
Hallo meste!

das geht ganz einfach, da die Felder String sind und du Integer eingibst, musst du die umwandeln. Das kannst mit
Code:
ElseIf RWdreieck.Checked Then
            dblergebnis = dblfeld1 * dblfeld2 / 2
            g.DrawLine(myPen, 10, CInt(dblfeld1), CInt(dblfeld2), 65)
als beispiel machen, nur weiss ich nicht wie man das so hinkriegt, das es beispielshalber immer auf der Grafikfläche zentriert ist.

Ahja, für die Fläche wäre es glaube ich wenn du ausgefüllte Formen nimmst. Du musst zuerst mal ein werkzeug in dem Falls Brush deklarieren.
Code:
Dim myBrush As New SolidBrush(Color.White)
Dann gibst einfach die Koordinaten ein, in dem Fall, von links und rechts je 10 weg.
Code:
g.FillRectangle(myBrush, New RectangleF(10, 10, CInt(dblfeld1), CInt(dblfeld2)))
Oder bei anderen Formen wie Raute usw., brauchst nur mehr den Code für das Füllen ändern.
Code:
g.FillPolygon(myBrush, New PointF() {New PointF(83, 10), _
               New PointF(24, 59), New PointF(83, 118), New PointF(142, 59)})

Wie gesagt, noch schöner wäre es wenn alle Formen zentriert sind. Hoffe ich konnte helfen.

ksk
 
Zurück