我正在从VCL转换为Firemonkey(FMX)。
我想在TAlphaColor变量中获取R,G或B值。
我曾经使用过函数GetRValue(TColor)。但是,GetRValue是一个Windows GDI调用。
有没有办法实现跨平台工作(特别是Windows和Mac)?
我找到了一些似乎用Delphi和TAlphaColorRecs做的例子,但我无法将代码转换为C ++。
答案 0 :(得分:0)
您可以使用TAlphaColorRec
结构读出颜色通道:
TAlphaColorRec acr;
acr.Color = Color;
Byte r = acr.R;
Byte g = acr.G;
// etc.
此类型的重要部分是union
,其声明如下:
union
{
struct
{
System::Byte B;
System::Byte G;
System::Byte R;
System::Byte A;
};
struct
{
System::Word HiWord;
System::Word LoWord;
};
struct
{
TAlphaColor Color;
};
};