Tipp 0022 RGB-Farbanteile
Autor/Einsender:
Datum:
  Detlev Schubert
12.04.2001
Entwicklungsumgebung:   VB 5
Bei der Verwendung von Farbwerten ist oft interessant, welchen Anteil die Grundfarben Rot, Grün und Blau am Zustandekommen der Farbe haben.
 
Option Explicit

Dim x As Integer

Private Sub Form_Load()
  For x = 0 To 2
    HScroll1(x).Max = 255
    HScroll1(x).Value = 255
    HScroll1(x).Value = 0
  Next
End Sub

Private Sub HScroll1_Change(Index As Integer)
  Dim red As Long, green As Long, blue As Long

  If Check1.Value = 1 Then
    For x = 0 To 2
      If x <> Index Then
        HScroll1(x).Value = HScroll1(Index).Value
      End If
    Next
  End If

  Picture1.BackColor = RGB(HScroll1(0).Value, _
        HScroll1(1).Value, HScroll1(2).Value)

  red = Rot(Picture1.BackColor)
  green = gruen(Picture1.BackColor)
  blue = Blau(Picture1.BackColor)

  Label1(0).Caption = red
  Label1(1).Caption = green
  Label1(2).Caption = blue
End Sub

Private Sub HScroll1_Scroll(Index As Integer)
  HScroll1_Change Index
End Sub

Function Rot(Col As Variant)
  Rot = Col Mod 256
End Function

Function gruen(Col As Variant)
  gruen = (Col \ 256) Mod 256
End Function

Function Blau(Col As Variant)
  ' Long, da 256 * 256 Überlauf
  Blau = Col \ (256& * 256)
End Function
 
Weitere Links zum Thema
Color Picker
Farb-Bitmaps zu Graustufen konvertieren
Farbwerte berechnen

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (2,3 kB) Downloads bisher: [ 1250 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

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

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 28. August 2011