LinearGradientBrush

27/03/2008 - 13:22 von Karsten Sosna | Report spam
Hallo NG,
gibt es für diese Phànomen mittlerweile eine Erklàrung?
\\\
Protected Overrides Sub OnPaint(ByVal e As
System.Windows.Forms.PaintEventArgs)
'MyBase.OnPaint(e)
Dim m As New Size(398, 30)
Dim rect As New RectangleF(0, 0, m.Width / 2.0F, m.Height)
Dim LGBR1 As New System.Drawing.Drawing2D.LinearGradientBrush(rect,
Color.LightCoral, Color.White,
System.Drawing.Drawing2D.LinearGradientMode.Horizontal)
Dim LGBR2 As New System.Drawing.Drawing2D.LinearGradientBrush(rect,
Color.White, Color.LightGreen,
System.Drawing.Drawing2D.LinearGradientMode.Horizontal)
e.Graphics.FillRectangle(LGBR1, rect)
e.Graphics.DrawString(rect.ToString, Me.Font, Brushes.Black, 0, 8)
rect.Offset(m.Width / 2.0F, 0)
e.Graphics.FillRectangle(LGBR2, rect)
e.Graphics.DrawString(rect.ToString, Me.Font, Brushes.Black, m.Width /
2.0F, 8)
End Sub
///
Man achte auf die Mitte!

Danke für jeden Tipp.
Gruß Scotty
 

Lesen sie die antworten

#1 Armin Zingler
27/03/2008 - 15:08 | Warnen spam
"Karsten Sosna" schrieb
Hallo NG,
gibt es für diese Phànomen mittlerweile eine Erklàrung?
\\\
Protected Overrides Sub OnPaint(ByVal e As
System.Windows.Forms.PaintEventArgs)
'MyBase.OnPaint(e)
Dim m As New Size(398, 30)
Dim rect As New RectangleF(0, 0, m.Width / 2.0F, m.Height)
Dim LGBR1 As New
System.Drawing.Drawing2D.LinearGradientBrush(rect, Color.LightCoral,
Color.White,
System.Drawing.Drawing2D.LinearGradientMode.Horizontal)
Dim LGBR2 As New
System.Drawing.Drawing2D.LinearGradientBrush(rect, Color.White,
Color.LightGreen,
System.Drawing.Drawing2D.LinearGradientMode.Horizontal)
e.Graphics.FillRectangle(LGBR1, rect)
e.Graphics.DrawString(rect.ToString, Me.Font, Brushes.Black, 0,
8) rect.Offset(m.Width / 2.0F, 0)
e.Graphics.FillRectangle(LGBR2, rect)
e.Graphics.DrawString(rect.ToString, Me.Font, Brushes.Black,
m.Width / 2.0F, 8)
End Sub
///
Man achte auf die Mitte!



Wenn du das erste FillRectangle auskommentierst, wirds optisch noch
deutlicher. Füger *zusàtzlich* "rect.Offset(-150, 0)" vor dem
verbliebenen FillRectangle ein. Das dürfte es erklàren. Man sieht
anscheinend nur einen Ausschnitt des Farbverlaufs, der anscheinend immer
am linken Fensterrand beginnt. Der grüne Balken ist quasi das
verbliebene Pixel der voherigen Wiederholung. Weiß nicht, ob das
einzustellen geht.


Armin

Ähnliche fragen