vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Picturebox mit Farbverlauf zeichen? 
Autor: I.V.
Datum: 23.01.15 20:40

Hallo zusammen,

ich habe mal wieder ein Problem.
Ich möchte eine Picturebox mit einen Farbverlauf, in Abhängigkeit von einem Prozentwert, von Grün über Geld zu Rot zeichnen.

Dabei soll Grün bei 0% starten, bei 50% soll es Gelb sein und naja, bei 100% halt Rot

Kann mir bitte jemand dabei helfen?

Danke und Gruß Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Picturebox mit Farbverlauf zeichen? 
Autor: Zardoz
Datum: 23.01.15 23:04

Hallo Ingo,
das geht mit der Api-Funktion GradientFill:
Siehe dazu:
http://www.activevb.de/tipps/vb6tipps/tipp0166.html
http://www.vbarchiv.net/tipps/details.php?id=1653

Man kann den Farbverlauf auch selbst errechnen, etwas so:

  Dim i&, F1&, SW&, SH&
 
  With Picture1
    .ScaleMode = vbPixels
    .AutoRedraw = True
    SW = .ScaleWidth
    SH = .ScaleHeight
  End With
  For i = 0 To SW / 2 - 1
    F1 = i / (SW / 2) * 255
    Picture1.Line (i, 0)-(i, SH), RGB(F1, 255, 0)
    Picture1.Line (i + (SW \ 2), 0)-Step(0, SH), RGB(255, 255 - F1, 0)
  Next i

Gruss,

Zardoz

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Picturebox mit Farbverlauf zeichen? 
Autor: I.V.
Datum: 23.01.15 23:55

Hallo Zardoz,

ja Super, dein Code ist super....

Wie muss ich das ändern, dass der Verlauf entgegengesetzt (Rot, Gelb, Grün) gefüllt wird?

Danke und Gruß Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Picturebox mit Farbverlauf zeichen? 
Autor: Zardoz
Datum: 24.01.15 05:42

Hallo Ingo,
ändere die Zeilen mit Line mal so:
  Picture1.Line (i, 0)-(i, SH), RGB(255, F1, 0)
  Picture1.Line (i + (SW \ 2), 0)-Step(0, SH), RGB(255 - F1, 255, 0)

Gruss,

Zardoz

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Picturebox mit Farbverlauf zeichen? 
Autor: I.V.
Datum: 25.01.15 09:32

JA super

Danke und Gruß
Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Picturebox mit Farbverlauf zeichen? 
Autor: I.V.
Datum: 27.01.15 18:32

Hallo Zardoz,

ich muss nochmal nerven.

Du bist ja mit der Farbmischerei super fit.

Kannst du mir sagen, wie ich eine Farbe in Abhängigkeit von einem Wert zur Laufzeit anpassen kann?

Dabei soll die Farbe bei einer kleinen zahl grün sein und bei steigenden Werten über gelb zu rot werden....

Wenn ich das so mache, dann bekomme ich zwar bei hohen Zahlen ne rote Farbe und ne grüne bei kleinen Werten, aber wenn die Zahl z.B. 125, dann wird die Farbe so ekelig grün und nicht gelb.

Dim lngCol as Long
Dim Wert as Integer 
 
 Wert = 125 
 lngCol = rgb(Wert, 255- Wert,0 )
 Text1.Backcolor = lngCol
Gruß Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Picturebox mit Farbverlauf zeichen? 
Autor: Zardoz
Datum: 27.01.15 21:33

Hallo Ingo,
probier's mal so:
  If Wert < 128 Then
    Rot = 255
    Gruen = Wert / 127 * 255
  Else
    Rot = (1 - (Wert - 128) / 127) * 255
    Gruen = 255
  End If
  Farbe = RGB(Rot, Gruen, 0)
Der Inhalt der Variablen Wert muss sich zwischen 0 und 255
bewegen, sonst muss man da noch was anpassen.

Gruss,

Zardoz

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Picturebox mit Farbverlauf zeichen? 
Autor: I.V.
Datum: 28.01.15 19:58

Hallo Zardoz,

Danke

Gruß Ingo

Wer aufhört sich zu verbessern, hört auf gut zu sein.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel