gpt4 book ai didi

c++ - 如何在 C++ Builder XE5 跨平台中获取 TAlphaColor 的 RGB 分量?

转载 作者:太空狗 更新时间:2023-10-29 23:16:39 25 4
gpt4 key购买 nike

我正在从 VCL 转换为 Firemonkey (FMX)。

我想获取 TAlphaColor 变量中的 R、G 或 B 值。

我曾经使用函数 GetRValue (TColor)。但是,GetRValue 是 Windows GDI 调用。

有没有一种方法可以跨平台(特别是 Windows 和 Mac)执行此操作?

我找到了似乎使用 Delphi 和 TAlphaColorRecs 执行此操作的示例,但我无法将代码转换为 C++。

最佳答案

您可以使用 TAlphaColorRec读出颜色 channel 的结构:

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;
};
};

关于c++ - 如何在 C++ Builder XE5 跨平台中获取 TAlphaColor 的 RGB 分量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22634737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com