Translate Color Values Faster

This tip is an update to “Translate Color Values”. That method converted numbers to strings, then performed string manipulation to get individual RGB values. This solution uses a concept near and dear to C programmers-unions-and is an order of magnitude faster.

With the RGB function, VB provides a neat and valuable tool for converting separate Red, Green, and Blue values into a single Long color value. However, VB doesn’t provide any way to convert this color value back to its constituent RGB values. Enter the much-feared LSet command, which copies the storage of one user-defined type (UDT) onto another.

Put this code in a module:

 Public Type RGB_TYPE	R As Byte	G As Byte	B As Byte	Filler As ByteEnd TypePrivate Type RGB_FULL_TYPE	lngRGB As LongEnd TypePublic Function ToRGB(ByVal vlngColor As Long) _	As RGB_TYPE	Dim udtRGBFull As RGB_FULL_TYPE	udtRGBFull.lngRGB = vlngColor	' Poor man's C Union	LSet ToRGB = udtRGBFullEnd Function

To use this function, put a picture in a form's Picture property, and insert this code:

 Private Sub Form_MouseUp(Button As Integer, _	Shift As Integer, X As Single, Y As Single)	Dim udtRGB As RGB_TYPE	udtRGB = ToRGB(Point(X, Y))	With udtRGB		Me.Caption = "R=" & .R & " G=" & .G & _			" B=" & .B	End WithEnd Sub

Click on different places on the picture. VB3 users must return the values differently, because before VB4 VB didn't support the return of a UDT.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS