| |
VB.NET - Ein- und UmsteigerHalbkreis mit Verlauf | | | Autor: viperbone | Datum: 24.05.06 20:20 |
| Hallo
Ich arbeite mit Visual Basic 2005 Express. Nun wollte ich mit der Grphics Methode einen Halbkreis mit Verlauf zeichnen. Dann hat er aber die obere Hälfte mit einem Verlauf gefüllt und die untere Hälfte mit einem Verlauf. Wie kann ich machen, dass er über das ganze Objekt den Verlauf zeichnet? Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As _
System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
' Halbkreise mit Verlauf
Dim oPieA As New Rectangle(x1, (y1 + ((y2 - y1) / 15)), (x2 - x1), ( _
y2 - y1) / 2)
Dim oBrushPieA As New LinearGradientBrush(oPieA, olor, Color2, _
LinearGradientMode.Vertical)
Dim g As Graphics = e.Graphics
With PictureBox1
g.FillPie(oBrushPieA, xPieStart, y1, PieWidth, (y2 - y1), 90, _
180)
End With
End Sub (Lasst euch nicht verwirren von den komischen Angaben über Position und Grösse.)
fg viperbone | |
Re: Halbkreis mit Verlauf | | | Autor: viperbone | Datum: 24.05.06 20:45 |
| Irgendwie doch nicht? Fehler 1 Fehler bei der Überladungsauflösung, da keine zugreifbare "DrawPie" _
mit diesen Argumenten aufgerufen werden kann:
'Public Sub DrawPie(pen As System.Drawing.Pen, x As Integer, y As Integer,
' width As Integer, height As Integer, startAngle As Integer, sweepAngle As
' Integer)': Der Wert vom Typ _
"System.Drawing.Drawing2D.LinearGradientBrush" kann nicht zu _
"System.Drawing.Pen" konvertiert werden.
'Public Sub DrawPie(pen As System.Drawing.Pen, x As Single, y As Single,
' width As Single, height As Single, startAngle As Single, sweepAngle As
' Single)': Der Wert vom Typ "System.Drawing.Drawing2D.LinearGradientBrush" _
kann nicht zu "System.Drawing.Pen" konvertiert werden. F:\Dokumente und _
Einstellungen\Bruno\Eigene Dateien\Visual _
Studio\Projects\Üben\Üben\Form1.vb 178 17 Üben fg viperbone | |
Re: Halbkreis mit Verlauf | | | Autor: DaveS (Moderator) | Datum: 24.05.06 20:46 |
| So sieht's schön aus, z.B.
Dim x1, y1, x2, y2 As Integer
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As _
System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
x1 = 0
x2 = 300
y1 = 0
y2 = 300
Dim oPieA As New Rectangle(x1, y1, x2 / 2, y2 / 2)
Dim oPieA1 As New Rectangle(x1, y1, x2, y2)
Dim oBrushPieA As New LinearGradientBrush(oPieA, Color.Purple, _
Color.DarkSeaGreen, LinearGradientMode.Vertical)
oBrushPieA.RotateTransform(90)
Dim g As Graphics = e.Graphics
With PictureBox1
g.FillPie(oBrushPieA, oPieA1, 90, 180)
End With
oBrushPieA.Dispose()
End Sub ________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist | |
Re: Halbkreis mit Verlauf | | | Autor: DaveS (Moderator) | Datum: 24.05.06 22:13 |
| Also, es wäre hilfreich wenn du etwas mehr Code posten würdest, aber so in etwa sollte es vielleicht sein
x1 = 0
y1 = 0
x2 = 120
y2 = 30
' Halbkreise mit Verlauf
Dim oPieA As New Rectangle(x1, y1, x2, y2 / 2)
Dim oPieA1 As New Rectangle(x1, y1, x2 / 4, y2)
Dim oPieA2 As New Rectangle(x1 + x2 / 8, y1, x2 - x2 / 8, y2)
Dim oBrushPieA As New LinearGradientBrush(oPieA, Color.DarkSeaGreen, _
Color.Purple, LinearGradientMode.Vertical)
oBrushPieA.WrapMode = WrapMode.TileFlipX
Dim g As Graphics = e.Graphics
With PictureBox1
g.FillPie(oBrushPieA, oPieA1, 90, 180)
g.FillRectangle(oBrushPieA, oPieA2)
End With
oBrushPieA.Dispose() ________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist | |
Re: Halbkreis mit Verlauf | | | Autor: GPM | Datum: 25.05.06 14:13 |
| Hier ein einfacher kleiner Button
Imports System.Drawing.Drawing2D
Public Class Form1
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As _
System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim re As New Rectangle(20, 20, 150, 50)
Dim lb As LinearGradientBrush = New LinearGradientBrush(New Rectangle( _
20, 20, 150, 25), _
Color.Green, Color.Gold, LinearGradientMode.Vertical)
lb.WrapMode = WrapMode.TileFlipX
With e.Graphics
.Clear(Color.Black)
.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
.TextRenderingHint = Drawing.Text.TextRenderingHint.ClearTypeGridFit
.FillEllipse(lb, re)
.DrawEllipse(New Pen(Color.Red, 4), re)
.DrawString("Start", New Font("Arial", 20), Brushes.Blue, 65, 30)
End With
lb.Dispose()
End Sub
End Class MfG GPM | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevDTA 3.0 Pro
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|