Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17060 Discussions

RGB conversion

davidgraham
Beginner
467 Views
You can use the RGB function to convert the red, green, blue colours to a rgb value.

I want to the the reverse.
There is an integertorgb function but it is for QuickWin and I want it for Win32 API.
There are also GetBvalue, GetGvalue & GetBvalue functions, are these the ones that I should use? If so, I am having trouble getting it to work.

Thanks,

David
0 Kudos
2 Replies
Jugoslav_Dujic
Valued Contributor II
467 Views
RGB value in Win32 is defined as #00BBGGRR. GetRValue, RGB, MAKEINTRESOURCE and some more functions are
not "real" Win32 API functions; those are actually C macros which
are, AFAIK, expanded to real functions by Compaq/Digital and placed in dfwin.lib.

GetRValue, GetBValue and GetGValue are supposed to work, though I think (don't know if it's fixed in newer versions) Compaq forgot to include them in dfwin.lib. You can write them yourself (as real or statement functions ):

GetRVAlue(iRGB) = IAND(iRGB, #FF)

GetGValue(iRGB) = ISHL(IAND(iRGB,#FF00), -8)

GetBValue(iRGB) = ISHL(IAND(iRGB,#FF0000), -16)

RGB() macro/function does the inverse thing in Win32 (that one
is implemented in dfwin.lib). I prefer to use hex notation
when working with colors (i.e. #FF00FF means light pink) instead
of RGB macro -- but that's a matter of taste.

Regards

Jugoslav
0 Kudos
davidgraham
Beginner
467 Views
Thanks, that worked.

It is strange that GetRvalue, GetGvalue & GetBvalue are all missing from CVF v6.5.

David
0 Kudos
Reply