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 : ...
 
随机推荐
- 慕课网-安卓工程师初养成-6-5 使用循环操作 Java 中的数组
			
来源:http://www.imooc.com/code/1531 实际开发中我们经常使用循环控制数组成员的操作.如: 运行结果: 其中, 用于获取数组的长度 需要注意的“小毛病”: 1. 数组下标 ...
 - 2016-07-07: 重新编译时vc90.pdb不是创建此预编译头时使用的pdb文件
			
使用VS2008在一个解决方案中包含多个项目时,当设置多个项目的中间目录为同一个目录时,在增量编译时出现"重新编译时vc90.pdb不是创建此预编译头时使用的pdb文件,请重新创建预编译头问 ...
 - <a>标签的href和onclick属性
			
讨论 <a>标签中,href和onclick事件的顺序与冲突问题. 首先明确一点:链接的onclick 事件被先执行,其次是href属性下的动作(页面跳转,或 javascript 伪链接 ...
 - asp.net前台绑定时间格式时,定义时间格式
			
<%#Eval("news_time","{0:yyyy-MM-dd}") %><%#((DateTime)Eval("news_t ...
 - 关于Eclipse项目中加入jquery.js文件报错(missing semicolon)问题
			
在使用Eclipse3.7及以后的版本的时候,加入jQuery文件会报错(missing semicolon),文件中会显示红色小X,虽然这个错误并不会影响项目的运行,但是这个却会大大的影响到开发人员 ...
 - SQL Server 2008中删除errorlog文件的方法
			
删除error咯个文件[SSQL\MSSQL10.MSSQLSERVER\MSSQL\Log目录下面] 由于默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为: ErrorL ...
 - 使用Innosetup制作安装包的一些技巧
			
1. 选择安装界面上的图片 [Setup] ;设置界面上的两个图片 WizardImageFile=WizModernImage.bmp WizardSmallImageFile=WizSmallIm ...
 - MVC concept
			
What are MVP and MVC and what is the difference? http://stackoverflow.com/questions/2056/what-are-mv ...
 - Builder(生成器)-对象创建型模式
			
一.意图 将一个复杂对象的构建与它的表示分离,使得同样的构造过程可以创建不同的表示. 二.动机 一个复杂的对象的构造过程中,原料相同,可能会要求生产不同的产品,并且生产的产品种类还能够方便的增加.Bu ...
 - .NET Remoting获取配置通道:
			
接上文: public static string ChannelManagerUrl { get { retu ...