今天写程序无意中碰到一个问题,当知道某个颜色值时,想知道它的RGB值各是多个,故写以下些函数:
FUNCTION GetRGB
LPARAMETERS tcColor,tnClolorValue
LOCAL lngRed,lngGreen,lngBlue
lngBlue=Int(tnClolorValue/65536)
tnClolorValue=tnClolorValue-lngBlue*65536
&&取出绿色的数值
lngGreen=Int(tnClolorValue/256)
&&剩下的是蓝色的数值
lngRed=tnClolorValue-lngGreen*256
DO CASE
CASE tcColor="R"
RETURN lngRed
CASE tcColor="G"
RETURN lngGreen
CASE tcColor="B"
RETURN lngBlue
ENDCASE
ENDfUNCTION
反之,知道Red,Green,Blue各值,它的颜色值如何得出呢,其实就是上面的逆过程,不过VFP已经提供了.(
RGB()函数)