起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 601|回复: 3

【搞定】如何将十六进制颜色值转化为颜色?**

[复制链接]
发表于 2006-12-25 13:13:11 | 显示全部楼层 |阅读模式
用户提供给开发人员一个颜色串 FFFFFFF,要求我们按照他的要求显示颜色,怕用户以后又要求我们用其它颜色,为灵活起见,我想用以下函数,将用户提供的十六进制颜色串转化为颜色值,请问如何做?

//根据颜色设置值(FFFFFFF)将其转化为颜色值
static function TComColor.ToColor(AHexString: string): TColor;
begin
  Result := 0; // '$' + AHexString;  
  //后面的直接相加显然是不行的,请问要如何返回?
end;
回复

使用道具 举报

发表于 2006-12-25 13:52:16 | 显示全部楼层
Html中的RGB相当于平台中的BGR

function HtmlToColor(AColor: String):TColor;
var
  lColor:TColor;
begin
  lColor := SysUtils.StrToInt('$'+AColor);
  lColor := RGB(GetBValue(lColor),GetGValue(lColor),GetRValue(lColor));
  Result := Graphics.ColorToRGB(lColor);
end;
回复 支持 反对

使用道具 举报

发表于 2006-12-25 14:47:09 | 显示全部楼层
procedure TForm1.Button2Click(Sender: TObject);
var
  color : TColor;
begin
  color := strtoint('$FFFFFFF');
  form1.Color := color;
end;
回复 支持 反对

使用道具 举报

发表于 2006-12-31 08:50:55 | 显示全部楼层
由于楼主长时间没有反馈,这个帖子先结帖了。有问题再开帖沟通
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 00:33 , Processed in 0.039794 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表