delphi Web格式与TColor类型的转换函数


本文整理自网络,侵删。

 支持#RRGGBB样式的Web字符串颜色格式的颜色值和TColor之间进行相互转换,从Web颜色格式转换为TColor类型的值时,支持省略前面的#号。

type
TRGBAColor = record
 case Integer of
 0:
 (Red, Green, Blue, Alpha: Byte);
 1:
 (Color: TColor);
 end;
//从TColor到Web颜色格式
function FormatWebColor(AColor: TColor): String;
var
  ARef: TRGBAColor absolute AColor;
begin
Result := '#' + IntToHex(ARef.Red, 2) + IntToHex(ARef.Green, 2) +
  IntToHex(ARef.Blue, 2);
end;
 
//从Web颜色格式转换为TColor
function FromWebColor(const S: String): TColor;
var
  p: PWideChar;
  R, G, B: Integer;
begin
p := PWideChar(S);
if p^ = '#' then
  Inc(p);
Result := clNone;
if TryStrToInt('$' + Copy(p, 0, 2), R) then
  begin
  Inc(p, 2);
  if TryStrToInt('$' + Copy(p, 0, 2), G) then
    begin
    Inc(p, 2);
    if TryStrToInt('$' + Copy(p, 0, 2), B) then
      Result := RGB(R, G, B);
    end;
  end;
end;
用法当然足够简单,如 FromWebColor(‘#FF0000′)直接就是红色,FormatWebColor(clRed)得到的结果就是字符串#FF0000。

相关阅读 >>

Delphi旋转位图

Delphi 泛型,存放n张图片

Delphi 改变位图图片大小

Delphi从字符串中取出数字

Delphi mscomm 实时串口通讯

Delphi android使用idhttp.get抓取https(ssl)文件

Delphi 根据字符串分隔符位置取值

Delphi clientdataset复制记录

qdac项目

shellexecute()和winexec()区别

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...