簡體   English   中英

如何在C ++ Builder XE5跨平台中獲取TAlphaColor的RGB組件?

[英]How can I get the RGB components of a TAlphaColor in C++ Builder XE5 cross-platform?

我正在從VCL轉換為Firemonkey(FMX)。

我想在TAlphaColor變量中獲取R,G或B值。

我以前使用函數GetRValue(TColor)。 但是,GetRValue是一個Windows GDI調用。

有沒有辦法實現跨平台工作(特別是Windows和Mac)?

我找到了似乎用Delphi和TAlphaColorRecs做的例子,但我無法將代碼轉換為C ++。

您可以使用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;
    };
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM