Huhu, ich habe gerade das Lockbits entdeckt und es ist um einiges schneller bei großen Bitmaps.
Ich habe eben versucht ein Rechteck zu zeichnen und das war mein erster Code dazu.
Spoiler anzeigen
Wüsste denn jemand eine einfachere Variante um die Byte im Array zu ändern um am Ende ein Rechteckt erstellen zu koennen?
Schleife 1 ist der obere Strich
Schleife 2 & 3 jeweils die senkrechten
Schleife 3 der untere Strich
Mir geht es darum, den Schleifenhaufen irgendwie abzukürzen.
Ich habe eben versucht ein Rechteck zu zeichnen und das war mein erster Code dazu.
VB.NET-Quellcode
- Private Function test(ByVal p As Point, ByVal w As Integer, ByVal h As Integer, ByVal size As Size) As List(Of Integer)
- Dim K As New List(Of Integer)
- Dim j As Integer = ((p.Y - 1) * size.Width * 3) + p.X
- If j Then
- For i As Integer = j To j + w * 3
- K.Add(i)
- Next
- For i As Integer = j + (3 * size.Width) To j + ((h - 1) * size.Height * 3) Step (3 * size.Width)
- K.Add(i)
- Next
- For i As Integer = j + (3 * size.Width) + (w * 3) To j + (w * 3) + ((h - 1) * size.Height * 3) Step (3 * size.Width)
- K.Add(i)
- Next
- For i As Integer = j + ((3 * size.Width) * h) To j + ((3 * size.Width) * h) + w * 3
- K.Add(i)
- Next
- End If
- Return K
- End Function
Wüsste denn jemand eine einfachere Variante um die Byte im Array zu ändern um am Ende ein Rechteckt erstellen zu koennen?
Schleife 1 ist der obere Strich
Schleife 2 & 3 jeweils die senkrechten
Schleife 3 der untere Strich
Mir geht es darum, den Schleifenhaufen irgendwie abzukürzen.
In Arbeit...