Extract RGB components from a Long value

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 ByteEnd TypePrivate Type LONGWrapper   Value As LongEnd TypePrivate 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.BlueEnd Sub


Share the Post: