TColor 与 RGB 的互转

先晒个图^_^

TColor 与 RGB 的互转_第1张图片

?
unitUnit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    GroupBox1: TGroupBox;
    StaticText1: TStaticText;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedureButton1Click(Sender: TObject);
    procedureButton2Click(Sender: TObject);
    procedureButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
var
  c:TColor;
procedureTForm1.Button1Click(Sender: TObject); //TColor转RGB
begin
  c:=StringToColor(Edit1.Text);
  Edit1.Color:=c;
  Edit2.Text:='$'+ IntToHex(GetRValue(c),2);
  Edit3.Text:='$'+ IntToHex(GetGValue(c),2);
  Edit4.Text:='$'+ IntToHex(GetBValue(c),2);
end;
 
procedureTForm1.Button2Click(Sender: TObject); //RGB转TColor
var
  str:string;
  r,g,b:Byte;
begin
    R:=StrToInt(Edit2.Text);
    G:=StrToInt(Edit3.Text);
    B:=StrToInt(Edit4.Text);
 
  str:='$00'+ IntToHex(b,2) + IntTohex(g,2) + IntTohex(r,2);
  Edit1.Color:=StrToInt(str);
  Edit1.Text:=str;
end;
 
procedureTForm1.Button3Click(Sender: TObject);//清空(不是真的清空,只是懒得每次都输入'$'这个符号)
begin
Edit1.Text:='$';
Edit2.Text:='$';
Edit3.Text:='$';
Edit4.Text:='$';
end;
end.

你可能感兴趣的:(程序,程序Delphi)