delphi 获取颜色值的RGB
前言: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的更多相关文章
- jquery获取css颜色值返回RGB应用
我来给大家介绍一下在jquery获取css颜色值返回RGB方法,希望此文章对各位同学会有所帮助哦. 代码如下: 代码如下 复制代码 a, a:link, a:visited { color:#4 ...
- PHP将CMYK颜色值和RGB颜色相互转换的例子
PHP将CMYK颜色值和RGB颜色相互转换的例子 function hex2rgb($hex) { $color = str_replace('#','',$hex); $rgb = array('r ...
- Delphi获取句柄
Delphi获取句柄发布时间:2011-06-16转载文章请标明出处: http://code.01yun.com/asp0dm/asp0net0dm/20110616/55395.html查找另外一 ...
- Delphi 获取进程路径及命令行参数
Delphi 获取进程路径及命令行参数, 但有的进程获取时会报错,不知为啥 type PVOID64 = UINT64; _UNICODE_STRING = packed record Length ...
- delphi 获取硬盘序列号、cpu号、bios号、网卡号
delphi 获取硬盘 序列号 function GetIdeNum: String; type TSrbIoControl = packed record HeaderLength : ULONG; ...
- Delphi 获取当前鼠标下的控件内容
Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos://获取鼠标的位置 WindowFromPoint://获取制定point下的handle GetClassName:// ...
- Delphi获取本机的MAC地址
Delphi获取本机的MAC地址: uses NB30; function GetAdaPterInfo(lana: Char): string; var Adapter: TAdapterS ...
- Delphi获取其他exe程序版本号
delphi获取Exe文件版本信息的函数 Type TFileVersionInfo = Record FixedInfo:TVSFixedFileInfo; {版本信息} CompanyName:S ...
- DELPHI获取宽带IP
DELPHI获取宽带IP DELPHI获取宽带IP procedure TForm1.Button1Click(Sender: TObject);varurl: string;beginurl : ...
随机推荐
- tiny学习3
这几天在埋头写自己的个星期!而且由于它是基于事件发生的次序(小时就把我的文件导出来了--呵呵.在阅读本文之前,请先看看我Blog里转贴的<TinyXML学习笔记>,相信它能给各位一个关于T ...
- Android自动化初探:ADB
Info:经过一段时间的准备,从今天开始自学Android之旅,初步学习会有疏漏,以后的每篇文章,我都会不断修改补全,直到完美. 2014-10-09:初版 --------------------- ...
- 精妙SQL语句
asc 按升序排列desc 按降序排列 下列语句部分是Mssql语句,不可以在access中使用.SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据 ...
- Spring day02笔记
spring day01回顾 编写流程(基于xml) 1.导入jar包:4+1 --> beans/core/context/expression | commons-logging 2.编写目 ...
- js获取浏览器窗口可视区域大小
获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法: 一.对于IE9+.Chrome.Firefox.Opera 以及 Safari: • window.innerHeight - 浏 ...
- Firefox 23中的新特性(新陷阱)
话说有一天突然发现我们的网站页面上的JQuery功能都失效了,Firebug中显示如下的错误 Blocked loading mixed active content "http://xxx ...
- delphi Inc函数和Dec函数的用法
inc自增函数 .inc(i,n)://i,n:integer;n为自增量 相当于i:=i+n: .inc(i)://i:integer; 相当于i:=i+; dec自减函数 .dec(i,n): ...
- js 字符串转化成数字
方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有 ...
- CodeForces 675C Money Transfers(贪心+奥义维护)
题意:n个银行. 其中存款有+有-. 总和为0. n个银行两两相邻((1,n),(1,2)...(n-1,n)); 问最少移动几次(只能相邻移动)能把所有数变为0. 分析:思路很简单,起始答案算它为n ...
- POJ 1228 - Grandpa's Estate 稳定凸包
稳定凸包问题 要求每条边上至少有三个点,且对凸包上点数为1,2时要特判 巨坑无比,调了很长时间= = //POJ 1228 //稳定凸包问题,等价于每条边上至少有三个点,但对m = 1(点)和m = ...