Farbenlehre
Autor/Einsender:   Matthias Bartelt
Anregungen/Tipps an: Matthias Bartelt
In Visual Basic haben Sie oft mit Farben zu tun. Farben können auf "BackColor", "BorderColor", "FillColor", "ForeColor" und "MaskColor" angewendet werden. Dabei bietet Visual Basic eine große Anzahl von Möglichkeiten, sie zu bestimmen.
QBColor
RGB-Farben
Hexadezimal
VB-Konstanten
Bei Fragen zu diesem Tutorial nutzen Sie bitte unser VB-/VBA-Forum.

  QBColor [ Top ]
Das QB steht für Quick Basic, eine ältere Programmiersprache von Microsoft und der Vorgänger von Visual Basic, in der es bedingt durch die damaligen Möglichkeiten der Grafikkarten (EGA) nur 16 Farben gab. Die Farben sprechen Sie mit QBColor (x), wobei das x für eine Zahl von 0 bis 15 steht. Wenn Sie die Farbanzahl Ihres Bildschirms auf 16 Farben verringern würden, könnte Ihr Bildschirm nur noch diese Farben anzeigen.
In der Tabelle sehen Sie alle 16 QB-Farben mit den dazugehörigen Farbwerten:
Farbe Farbwert
   0
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
z.B. ist QBColor (10) = Hellgrün
 
Private Sub Form_Load()
   'Hier wird die Farbe auf Hellgrün gesetzt
  Me.BackColor = QBColor(10) 
End Sub
 

  RGB-Farben [ Top ]
RGB steht für "Rot", "Grün" und "Blau", und setzt sich aus der additiven Überlagerung dieser drei Farben zusammen. Die Grundfarben des Computers sind nicht Rot, Gelb und Blau, sondern Rot, Grün und Blau. Jede Farbe kann in 256 Farbabstufungen eingeteilt werden. Somit gibt es 255³ Möglichkeiten, eine Farbe zu setzen, dass entspricht 16.581.375 Farbenvarianten.
Diese Zahl kennen Sie bestimmt von der Bildschirmauflösung 16 Bit her, wobei das menschliche Auge nicht in der Lage ist, einzelne Farbabstufungen wahrzunehmen. Daher spricht man bei dieser Kombination auch von Echtfarben.
Die Farbe wird mit RGB (X,Y,Z) aufgerufen, wobei X, Y, Z jeweils für eine Zahl von 1 bis 255 steht.
RGB-Wert Farbe
RGB(0,0,255) Blau
RGB(70,30,20) Braun
RGB(255,255,0) Gelb
RGB(80,80,80) Grau
RGB(0,255,0) Grün
RGB(150,0,255) Lila
RGB(255,128,0) Orange
RGB(255,0,255) Rosa
RGB(255,0,0) Rot
RGB(0,0,0) Schwarz
In diesem Beispiel ist der Rot-Gehalt der Farbe auf 255 und Grün und Blau sind jeweils auf 0, somit ist die Farbe Rot.
 
Private Sub Form_Load()
   'Hier wird die Farbe auf Rot gesetzt
  Me.BackColor = RGB(255,0,0)
End Sub
 

  Hexadezimal [ Top ]
Diese Möglichkeit ist die wahrscheinlich komplizierteste aller Farb-Methoden in VB. Hier müssen die RGB-Werte in einem hexadezimalen Wert geschrieben werden.
Nachstehend die wichtigsten Farben mit Ihren HEX-Werten
Hex-Wert Farbe
&HFF0000& Blau
&H80& Braun
&HFFFF& Gelb
&HC0C0C0& Grau
&HFF00& Grün
&H800080& Lila
&H80FF& Orange
&HFF00FF& Rosa
&HFF& Rot
&H0& Schwarz
&HFFFFFF& Weiß
Umwandlung von Zahlen ins Hex-Format
Bei den RGB-Farben würde Blau RGB(0,0,255) entsprechen. Dieser Wert wird jetzt folgendermaßen umgewandelt: Im Hexwert werden die Farben umgetauscht, so dass es heißt BLAU, GRÜN, ROT. Jetzt muss jeder Farbwert in eine Hexzahl umwandelt (geht sehr gut mit dem Windows-Rechner unter Zubehör). 0 in HEX = 00, 255 in HEX = FF. Jetzt wäre die Zahl FF0000. Vor diesen Wert müssen jetzt noch &H und dahinter ein & gesetzt werden. Der fertige Wert für Blau ist dann &HFF0000&.
In Visual Basic ist ein Hexwert auch wie folgt zu ermitteln: MsgBox(Hex(vbBlue))
Visual Basic kürzt sich nach Eingabe der Hex-Zahl einige Werte heraus, darum sind es manchmal auch weniger als 9 Zeichen.
 
Private Sub Form_Load()
   'Hier wird die Farbe auf Blau gesetzt
  Me.BackColor = &HFF0000&
End Sub
 

VB-Konstanten [ Top ]
Die Zuweisung von Farben ist mit den VB-Konstanten die wohl Einfachste. Man muss einfach nur vb + den englischen Namen der Farbe eingeben. z.B. Gelb= vbYellow
Nachstehend die wichtigsten Farben als VB-Konstanten.
Konstante Farbe RGB-Wert
vbBlue Blau RGB(0,0,255)
vbYellow Gelb RGB(255,255,0)
vbGreen Grün RGB(0,255,0)
vbMagenta Magenta RGB(255,0,255)
vbRed Rot RGB(255,0,0)
vbBlack Schwarz RGB(0,0,0)
vbWhite Weiß RGB(255,255,255)
vbCyan Zyan RGB(0,255,255)
 
Private Sub Form_Load()
   'Hier wird die Farbe auf Gelb gesetzt
  Me.BackColor = vbYellow
End Sub
 

Zum Seitenanfang

Startseite | VB/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | VB-/VBA-Forum | VB.Net-Forum | DirectX | DirectX-Forum | Foren-Archiv | VB.Net | Chat | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Donnerstag, 6. Juli 2006