Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0168: 24-Bit Farbwert in seine RGB-Bestandteile auflösen

 von 

Beschreibung 

Wer einen 24-Bit Farbwert wieder in seinen RGB-Anteile zerlegen will muß sich eine solche Funktion selber basteln. Die hier vorgestellte isoliert die einzelnen Farbanteile durch eine Undverknüpfung. Das ganze geht aber noch schneller und eleganter unter Verwendung der CopyMemory, siehe hierzu Tipp 427

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [2,12 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei PROJECT1.VBP -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Beschriftungsfeld "Label1"


Private Sub Form_Load()
  Dim z%, Col&, x1&, y1&
    
    With Form1
      .AutoRedraw = True
      .BackColor = &HFFFFFF
      Randomize
    
      For z = 1 To 200
        Col = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)
        x1 = .Width * Rnd - 300
        y1 = .Height * Rnd - 300
        Form1.Line (x1, y1)-Step(600, 600), Col, BF
      Next z
      
      .Refresh
      .AutoRedraw = False
    End With
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift _
                               As Integer, X As Single, Y _
                               As Single)
  Dim Col&
  Dim r As Byte, g As Byte, b As Byte
    Col = Form1.Point(X, Y)
    Me.Caption = Col
    Call RGBsplit(Col, r, g, b)
    Me.Caption = "R-" & r & "   G-" & g & "   B-" & b
    Label1.BackColor = RGB(r, g, b)
End Sub

'Die eigentliche Routine
Private Sub RGBsplit(ByVal Col, r As Byte, g As Byte, b As Byte)
  b = (Col And 16711680) / 65536
  g = (Col And 65280) / 256
  r = Col And 255
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei PROJECT1.VBP --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.