分享

TColor 与 RGB 的互转

 aaie_ 2012-10-11

先晒个图^_^

unit Unit1;
  
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;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  
var
  Form1: TForm1;
  
implementation
  
{$R *.dfm}
var
  c:TColor;
procedure TForm1.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;
  
procedure TForm1.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;
  
procedure TForm1.Button3Click(Sender: TObject);//清空(不是真的清空,只是懒得每次都输入'$'这个符号)
begin
Edit1.Text:='$';
Edit2.Text:='$';
Edit3.Text:='$';
Edit4.Text:='$';
end;
end.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多