Rubrik: Grafik & Fonts | 01.07.02 |
RGB-Farbwerte ermitteln VB-Version: VB5, VB6 | ||
Views: 25.055 |
Die RGB-Funktion gibt einen Farbwert vom Typ Long zurück. Jedes der drei Argumente (RGB = rot, grün, blauoder ganz korrekt: red, green, blue) kann Werte im Bereich von 0 bis 255 annehmen, so dass man sich beliebigeFarben zusammenmischen kann.
Beispiel:
' Hintergrundfarbe einem Formular beim Start zuweisen Private Sub Form_Load() Me.BackColor = RGB(255, 0, 128) End Sub
Mit dieser Farbzuweisung erreichen Sie ein kräftiges Pink für Ihren Hintergrund. Was nun aber, wenn man eine Farbe hat und die in dieeinzelnen RGB-Bestandteile zerlegen will? Versuchen Sie mal folgendes:
Sie starten ein neues Projekt und fügen auf der Form von links nach rechts drei Shapes hinzu. Jedem Shape ordnen Sie in denEigenschaften FillStyle = 0 - Ausgefüllt zu und FillColor - wieder von links nach rechts - rot, grün und blau. Unter diesen Shapes fügenSie drei Label als Steuerelemetefeld ein (über Kopieren und Einfügen). Außerdem benötigen Sie noch einen CommandButton und dieCommonDialog-Komponente. Dann diesen Code einfügen:
Option Explicit ' benutzerdefinierter Datentyp Private Type tRGB rot As Byte grün As Byte blau As Byte End Type ' die Funktion hierzu Private Function GetRGB(Farbe As Long) As tRGB GetRGB.rot = (Farbe And &HFF&) GetRGB.grün = (Farbe And &HFF00&) \ 256 GetRGB.blau = (Farbe And &HFF0000) \ 65536 End Function ' und jetzt die Sub zum Testen Private Sub Command1_Click() Dim myRGB As tRGB CommonDialog1.ShowColor myRGB = GetRGB(CommonDialog1.Color) Label1(0).Caption = myRGB.rot Label1(1).Caption = myRGB.grün Label1(2).Caption = myRGB.blau End Sub
Starten Sie Ihr Programm und wählen Sie eine Farbe aus. In den Labels werden nun die entsprechenden RGB-Anteile angezeigt.