前言:http://www.cnblogs.com/studypanp/p/5002953.html 获取的颜色值

前面获取到一个像素点的颜色值后(十六进制),比如说(黄色):FFD1C04C(共八位),我自认为前面两位代表透明度,其它顺序为R-G-B, 没想到顺序是G-B-R

下面为从十六进制解析RGB的函数:(这里是把FF当成了R)

function TForm2.HexColorToRGB(s: string): string;    // 传进来的是颜色值
var
  i: Integer;
R,G,B: Byte;
begin
  i := s.ToInteger;
  R := i and $FF;
  G := (i shr 8) and $FF;
  B := (i shr 16) and $FF;
// Result := Format('%.2x,%.2x,%.2x',[R,G,B]); // 返回十六进制的RGB
  Result := Format('%.2d,%.2d,%.2d',[R,G,B]); // 返回RGB: 76,192,209
end;
 

我在画图上的颜色编辑器上输入R:76, G:192,B:209,画布上面显示的是蓝色,我又郁闷...

后来我把这三个数打错顺序输入,结果发现192,209,76才是原来的颜色,位数不是按RGB的顺序,而是按BRG的顺序,郁闷死我了

至少我在XE中结果是这样的。

function TForm2.HexColorToRGB(s: string): string;    // 传进来的是颜色值
var
i: Integer;
R,G,B: Byte;
begin
i := s.ToInteger;
B := i and $FF;
R := (i shr 8) and $FF;
G := (i shr 16) and $FF;
// Result := Format('%.2x,%.2x,%.2x',[R,G,B]); // 返回十六进制的RGB
Result := Format('%.2d,%.2d,%.2d',[R,G,B]); // 返回RGB 192,209,76
end;

所以需要把原来函数的顺序变一下。

delphi 获取颜色值的RGB的更多相关文章

  1. jquery获取css颜色值返回RGB应用

    我来给大家介绍一下在jquery获取css颜色值返回RGB方法,希望此文章对各位同学会有所帮助哦.   代码如下:  代码如下 复制代码 a, a:link, a:visited { color:#4 ...

  2. PHP将CMYK颜色值和RGB颜色相互转换的例子

    PHP将CMYK颜色值和RGB颜色相互转换的例子 function hex2rgb($hex) { $color = str_replace('#','',$hex); $rgb = array('r ...

  3. Delphi获取句柄

    Delphi获取句柄发布时间:2011-06-16转载文章请标明出处: http://code.01yun.com/asp0dm/asp0net0dm/20110616/55395.html查找另外一 ...

  4. Delphi 获取进程路径及命令行参数

    Delphi 获取进程路径及命令行参数, 但有的进程获取时会报错,不知为啥 type PVOID64 = UINT64; _UNICODE_STRING = packed record Length ...

  5. delphi 获取硬盘序列号、cpu号、bios号、网卡号

    delphi 获取硬盘 序列号 function GetIdeNum: String; type TSrbIoControl = packed record HeaderLength : ULONG; ...

  6. Delphi 获取当前鼠标下的控件内容

    Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos://获取鼠标的位置 WindowFromPoint://获取制定point下的handle GetClassName:// ...

  7. Delphi获取本机的MAC地址

    Delphi获取本机的MAC地址: uses   NB30; function GetAdaPterInfo(lana: Char): string; var   Adapter: TAdapterS ...

  8. Delphi获取其他exe程序版本号

    delphi获取Exe文件版本信息的函数 Type TFileVersionInfo = Record FixedInfo:TVSFixedFileInfo; {版本信息} CompanyName:S ...

  9. DELPHI获取宽带IP

    DELPHI获取宽带IP   DELPHI获取宽带IP procedure TForm1.Button1Click(Sender: TObject);varurl: string;beginurl : ...

随机推荐

  1. Linux kill 杀死指定进程

    一  杀死指定进程 现知道有一个php线程正在运行,需要杀死 root 26278 1 0 2015 ? 00:00:31 /usr/local/php/bin/php /var/www/html/r ...

  2. PIC32MZ tutorial -- Key Debounce

    Today I accomplish a application on PIC32MZ EC Starter Kit. The feature of application is to light u ...

  3. 使用jna调用dll,jdk位数和dll位数的关系

    最近在学习jna,发现dll文件能能否成功调用取决于jdk位数. 32位jdk只能使用32位的dll,64位jdk只能使用64位的dll,否则位数不对应的话报的错是 "Exception i ...

  4. Nginx 反向代理、负载均衡、页面缓存、URL重写以及读写分离

    1.环境准备 前端Nginx:10.160.65.44 后端WEB服务器两台:10.160.65.49/10.160.65.50 2.安装Nginx: 下载nginx-1.9.15.tar.gz,放置 ...

  5. 手把手教你编写一个具有基本功能的shell(已开源)

    刚接触Linux时,对shell总有种神秘感:在对shell的工作原理有所了解之后,便尝试着动手写一个shell.下面是一个从最简单的情况开始,一步步完成一个模拟的shell(我命名之为wshell) ...

  6. mininet之miniedit可视化操作

    Mininet 2.2.0之后的版本内置了一个mininet可视化工具miniedit,使用Mininet可视化界面方便了用户自定义拓扑创建,为不熟悉python脚本的使用者创造了更简单的环境,界面直 ...

  7. C++中四种转换类型的区别

    一.四种转换类型比较: 类型转换有c风格的,当然还有c++风格的.c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可 ...

  8. 循序渐进Python3(四) -- 装饰器、迭代器和生成器

    初识装饰器(decorator ) Python的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数. 使用 decorator 用Python提供的 @ 语法 ...

  9. 点亮一个led灯

    /********************************* 代码功能:点亮一个led灯 使用函数: pinMode(引脚号,模式); digitalWrite(引脚号,电平状态); //默认 ...

  10. MATLAB - 练习程序,直方图均衡化

    直方图均衡化的作用是图像增强. 有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布. 第一个问题.均衡化过程中,必须要保证两个条件:①像素无论怎么映射, ...