快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

和记娱h188下载app:从TColor对象中解析出红绿蓝的亮度



应用API函数GetRVa和记娱h188下载applue,GetBValue及GetGValue。这里有一个以析取红绿蓝来改变窗口背景致的例子。(重视:在应用下面的例子代码前,请将窗口的Color设为clBlue,clNavy或其它任何和记娱h188下载app一种非系统颜色,诸如clBTnFace)

void __fastcall TForm1::Button1Click(TObj和记娱h188下载appect *Sender)

{

BYTE nRed= GetRValue(Color);

BYTE nBlue= GetBValue(Color);

BYTE nGreen = GetGValue(Color);

nRed +=10;

nBlue -=10;

nGreen *= 1.05;

Color =(TColor) RGB(nRed, nGreen, nBlue);

}

重视:Get系列函数返回一个0~255的亮度值。由于单个亮度值为一个字节以是返回类型为BYTE。当你把亮度值设为小于0或大年夜于255时,RGB宏将截去多余的字节(它只取低8位) 。

重视:从技巧上讲,这三个Get函数实际上不是函数,它们是C风格的宏。你可以在Include\和记娱h188下载appWin32\wingdi.h中看到它们的实现。应用宏的一个结果是:函数不是类型安然的。你可以将char *传给宏而不会获得任何和记娱h188下载app警告。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: