Hallo zusammen,
ich versuche leider erfolglos, eine Linie zu zeichnen, die 2 Farbverläufe hat (von weiß zu schwarz und wieder zu weiß).
1 Farbverlauf ist ja kein Problem dank LinearGradientBrush, aber es gibt keine Überladung, um mehrere Farbverläufe zu benutzen.
Nach einiger Zeit stieß ich auf PathGradientBrush. Hier kann man die Mittel- und die Randfarben festlegen. Ich habe auch versucht,
diesen einzusetzen, doch anscheinend ist er nur für geschlossene Formen gedacht, denn wenn ich diesen Quellcode ausführe (von
der VB.NET Doku übernommen & abgeändert), kommt folgender Fehler: OutOfMemoryException / Kein Arbeitsspeicher.
Ich arbeitete in einer Druckansicht und nutze große Abstände zwischen den Punkten (500-550), vielleicht tritt der Fehler auch deswegen auf?
Ich bin mir nicht sicher, woran es liegt.
Irgendwie ist das auch nicht die beste Lösung
Hat jemand eine Idee, wie man eine solche Linie (weiß-schwarz-weiß) zeichnen kann?
VisualBasic-Frager
ich versuche leider erfolglos, eine Linie zu zeichnen, die 2 Farbverläufe hat (von weiß zu schwarz und wieder zu weiß).
1 Farbverlauf ist ja kein Problem dank LinearGradientBrush, aber es gibt keine Überladung, um mehrere Farbverläufe zu benutzen.
Nach einiger Zeit stieß ich auf PathGradientBrush. Hier kann man die Mittel- und die Randfarben festlegen. Ich habe auch versucht,
diesen einzusetzen, doch anscheinend ist er nur für geschlossene Formen gedacht, denn wenn ich diesen Quellcode ausführe (von
der VB.NET Doku übernommen & abgeändert), kommt folgender Fehler: OutOfMemoryException / Kein Arbeitsspeicher.
Ich arbeitete in einer Druckansicht und nutze große Abstände zwischen den Punkten (500-550), vielleicht tritt der Fehler auch deswegen auf?
Ich bin mir nicht sicher, woran es liegt.
VB.NET-Quellcode
- Private Function GetLinePen(ByVal P1 As Point, ByVal P2 As Point) As Pen
- Dim gp As New Drawing2D.GraphicsPath()
- gp.AddLine(P1, P2)
- Dim LineBrush As Drawing2D.PathGradientBrush = New Drawing2D.PathGradientBrush(gp)
- LineBrush.CenterPoint = New PointF(P2.X - P1.X / 2, P1.Y)
- LineBrush.CenterColor = Color.Black
- LineBrush.SurroundColors = {Color.White}
- Dim LinePen As New Pen(LineBrush)
- Return LinePen
- End Function
Irgendwie ist das auch nicht die beste Lösung
Hat jemand eine Idee, wie man eine solche Linie (weiß-schwarz-weiß) zeichnen kann?
VisualBasic-Frager