DrawLine in Bitmap konvertieren und vergrössern

alex-test

Grünschnabel
Hi, ich hab nirgenst etwas gefunden, was mir weiter helfen könnte..

Code:

Private Sub pictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)

Dim g As Graphics = e.Graphics
g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
Dim penRed As New Drawing.Pen(System.Drawing.Color.Red, 1)
g.DrawLine(penRed, X1,Y1,X2,Y2)

End Sub


Sub Button1Click(sender As Object, e As System.EventArgs)

"und hier sollte der code stehen, der mir die zeichnung in der picturebox vergrössert."

End Sub

Das grosse problem ist, daß ich auch kurven verwende und wenn ich die zeichnung jetzt einfach nur grösser zeiche, dann stimmen die biegungen der kurven nicht mehr.

jetzt hab ich mir gedacht, die zeichnung in bitmap zu konvertieren und dann kann man das bild anzeigen wie man will. nur ich kanns nicht. :)

kann mir da jem,and helfen?
 

PhoenixLoe

Erfahrenes Mitglied
Hi alex-test,

versuch's mal mit der PageScale-Eigenschaft des Graphics-Objekts. Dabei wird die Linie allerdings entsprechend dicker, wenn du hineinzoomst, was du, falls du das nicht willst, in der Dicke des Pen-Objekts gegenrechnen musst.

Gruß
PhoenixLoe
 

PhoenixLoe

Erfahrenes Mitglied
Ein Nachtrag zur Variante mit den Bitmaps:

Du musst ein Graphics-Objekt für ein Bitmap-Objekt erstellen:

Code:
( ... )
Bitmap bmp = new Bitmap(300, 200);

using(Graphics g = Graphics.FromImage(bmp))
{( ... )
}
Anschließend kannst du genauso verfahren wie sonst. Allerdings ist bei Bitmaps das Problem, dass sie beim Vegrößern interpoliert werden müssen und dementsprechend unscharf werden. Nimm also lieber die erste Variante! :rolleyes: