Hallo zusammen,
ich habe folgendes Problem, das Programm läuft, zeig aber keine Ergebnisse an:
Hier der Code:
Danke für die Mühe
Manfred
CodeTags gesetzt
Thema verschoben; Das Thema wird automatisch dort erstellt, wo man sich befindet, wenn man auf [✱ Neues Thema] klickt. ~VaporiZed
ich habe folgendes Problem, das Programm läuft, zeig aber keine Ergebnisse an:
Hier der Code:
VB.NET-Quellcode
- Public Class FormMain
- Private rand As New Random()
- Private bmp As Bitmap
- Private g As Graphics
- Private benutzerFarbe As Color = Color.Blue
- Private Sub FormMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height)
- g = Graphics.FromImage(bmp)
- PictureBox1.Image = bmp
- ComboBoxFarben.Items.AddRange({"Zufällig", "Farbverlauf", "Benutzer"})
- ComboBoxFarben.SelectedIndex = 0
- Dim stift As New Pen(Color.Black)
- ZeichneSpirograph()
- End Sub
- Private Sub ZeichneSpirograph()
- g.Clear(Color.White)
- Dim R100 As Double = NumericUpDown100.Value
- Dim r40 As Double = NumericUpDown40.Value
- Dim d60 As Double = NumericUpDown60.Value
- Dim centerX As Integer = PictureBox1.Width \ 2
- Dim centerY As Integer = PictureBox1.Height \ 2
- Dim lastPoint As Point = Point.Empty
- Dim steps As Integer = 2000
- For i As Integer = 0 To steps
- Dim t As Double = i * 2 * Math.PI / steps
- Dim x As Double = (R100 - R100) * Math.Cos(t) + d60 * Math.Cos((R100 - R100) / R100 * t)
- Dim y As Double = (R100 - R100) * Math.Sin(t) - d60 * Math.Sin((R100 - R100) / R100 * t)
- Dim px As Integer = centerX + x
- Dim py As Integer = centerY + y
- If lastPoint <> Point.Empty Then
- Dim pen As Pen = WähleStift(i, steps)
- g.DrawLine(pen, lastPoint, New Point(px, py))
- End If
- lastPoint = New Point(px, py)
- Next
- PictureBox1.Invalidate()
- End Sub
- Private Function WähleStift(i As Integer, max As Integer) As Pen
- Select Case ComboBoxFarben.SelectedItem.ToString()
- Case "Zufällig"
- Return New Pen(Color.FromArgb(rand.Next(256), rand.Next(256), rand.Next(256)))
- Case "Farbverlauf"
- Dim ratio As Double = i / max
- Dim r40 As Integer = 255 * ratio
- Dim b As Integer = 255 - r40
- Return New Pen(Color.FromArgb(r40, 0, b))
- Case "Benutzer"
- Return New Pen(benutzerFarbe)
- Case Else
- Return New Pen(Color.Black)
- End Select
- End Function
- Private Sub ButtonZeichnen_Click(sender As Object, e As EventArgs) Handles ButtonZeichnen.Click
- ZeichneSpirograph()
- End Sub
- Private Sub ButtonSpeichern_Click(sender As Object, e As EventArgs) Handles ButtonSpeichern.Click
- Dim dlg As New SaveFileDialog()
- dlg.Filter = "JPG Bild|*.jpg"
- If dlg.ShowDialog() = DialogResult.OK Then
- bmp.Save(dlg.FileName, Imaging.ImageFormat.Png)
- End If
- End Sub
- Private Sub ComboBoxFarben_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBoxFarben.SelectedIndexChanged
- If ComboBoxFarben.SelectedItem.ToString() = "Benutzer" Then
- If ColorDialog1.ShowDialog() = DialogResult.OK Then
- benutzerFarbe = ColorDialog1.Color
- End If
- End If
- End Sub
- Private Sub Beenden_Click(sender As Object, e As EventArgs) Handles Beenden.Click
- Me.Hide()
- End Sub
- End Class
Danke für die Mühe
Manfred
CodeTags gesetzt
Thema verschoben; Das Thema wird automatisch dort erstellt, wo man sich befindet, wenn man auf [✱ Neues Thema] klickt. ~VaporiZed
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()