Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Jun 6, 2002

Extract RGB components from a Long value

You can extract RGB values out of a 32-bit color value by using the integer division and the MOD operators, but there is a much more effective way, based on the LSet. You can convert from a long to rgb bytes and vice versa with the following code:

Private Type RGBWrapper
   Red As Byte
   Green As Byte
   Blue As Byte
   Alpha As Byte
End Type

Private Type LONGWrapper
   Value As Long
End Type

Private Sub Form_Load()
   Dim Color As LONGWrapper
   Dim Colors As RGBWrapper
   Color.Value = RGB(255, 123, 55)
   LSet Colors = Color 'do the actual conversion
   MsgBox Colors.Red
   MsgBox Colors.Green
   MsgBox Colors.Blue
End Sub
Roger Johansson
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date