Delphiメモ

No025:TColorからRGB値を取り出す

TColor型はそのままだとRGBの各構成要素がどの値か分からない。
そこで使うのがAPIのGetRValue、GetGValue、GetBValueの3つ。

function GetRValue(rgb: DWORD): Byte; inline;
function GetGValue(rgb: DWORD): Byte; inline;
function GetBValue(rgb: DWORD): Byte; inline;

まぁ特に宣言を見なくても分かるわな。
とりあえずいちいちこの関数を読んでいると面倒なので以下のような手続きを作ってしまった方がいい。

procedure GetRGBColor(Color: TColor; var R,G,B: Byte);
begin
  R:= GetRValue(Color);
  G:= GetGValue(Color);
  B:= GetBValue(Color);
end;

これで1つの手続きで3つ同時に値が得られると言うわけですよ。

トップに戻る

関連ページ