将十六进制色值转换成Color
在给Background赋值时,除了自带的Red,Blue,Black等,可以通过以下方法赋予其他颜色。
主要是将Hex转换成ARGB(A:alpha,表示透明度、R:Red、G:Green、B:Blue),其中ARGB取值均在0--255之间
该方法传入的字符串参数可以类似 #21459A 或者 #FF21459A
public static Color? GetColorFromHex(String colorStr) //? 表示返回值可以为null
{
if (colorStr != null && (colorStr.Length == 7 || colorStr.Length == 9))
{
byte a = 255;
int posi = 1;
if (colorStr.Length == 9)
{
a = Byte.Parse(colorStr.Substring(posi, 2), NumberStyles.HexNumber);
posi += 2;
}
byte r = Byte.Parse(colorStr.Substring(posi, 2), NumberStyles.HexNumber);
posi += 2;
byte g = Byte.Parse(colorStr.Substring(posi, 2), NumberStyles.HexNumber);
posi += 2;
byte b = Byte.Parse(colorStr.Substring(posi, 2), NumberStyles.HexNumber); return Color.FromArgb(a, r, g, b);
}
return null;
}
之后给背景色赋值
grid.Background= new SolidColorBrush(GetColorFromHex("#21459A").Value);
当然在知道RGB的时候也可以采取如下方式:
grid.Background = new SolidColorBrush() { Color = Color.FromArgb(,, , ) }; //this.Foreground = new SolidColorBrush(Color.FromArgb(255,33, 69, 154) ); //未创建对象 这种方法不行
PS: 在编程过程中,复制Win8.1上的Skype别人发来的色值字符串.长度竟然会比正常的多一位。
(原因是在末尾会有一个为“”的东西。。。的确为空,但是用键盘方向键就可以观察到里面是有东西的)
且能够提取到这个为空的字符。也因为这个小细节苦恼了好久。。
将十六进制色值转换成Color的更多相关文章
- Java中将0x开头的十六进制字符串转换成十进制整数
1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...
- string转换成color转
string转换成color string col = "#FF8400"; this.BackColor = System.Draw ...
- wpf中将string格式的颜色转换成color类型
wpf中Brushes有很多对应的颜色,先盗张图,每个颜色对于的名称和ARGB值有了,问题是有时候我们取到的颜色是ARGB值,而且是string类型的,该怎么转换成color呢,只有转换成color之 ...
- C#中将表示颜色的string转换成Color
场景 在Winform中需要存储某控件的Color属性,存储的是string字符串, 然后再对控件进行赋值时需要将string转换成Color. 实现 myPane.YAxis.Color = Sys ...
- IOS 十六进制字符串转换成UIColor
/** * 十六进制转换成UIColor * * @param stringToConvert 十六进制字符串 * * @return UIColor */ +(UIColor *) hexStrin ...
- 16进制色值转换成RGB
#51147f 转换成RGB ,5*16+1 ,1*16+4,7*16+15 #A9A9A9 转换成RGB ,A*16+9 ,A*16+9,A*16+9
- IOS中将十进制色值转换成UIColor
最近因项目需要,在网上找了一些代码,整合了一下,实现的效果就是将10进制的RGB色值转换IOS用的UIColor,方法还有缺陷,有待改进 UIColor *getColorFromString(NSS ...
- C++中char类型的十六进制字符串转换成字节流
如a[5]="1234"转换成a[5]={0x12,0x34} 代码如下: void HexStrToByte(const char* source, unsigned char* ...
- Java - 将vCard中十六进制编码转换成Unicode
做课程设计的时候在处理vCard格式的时候遇到过出现十六进制编码的情况,例如 QUOTED-PRINTABLE:=XX=XX=XX=XX=XX`````` 其中XX代表十六进制数,当然,也有可能在末尾 ...
随机推荐
- [AJAX]ajax在兼容模式下失效解决办法
使用jQuery,用ajax实现局部刷新功能,在火狐,360急速浏览器高速模式下,ie8,9都能正常运行,但切换到兼容模式下无效,解决办法有两种关闭浏览器兼容性视图,二是引入json2.js文件 这里 ...
- Window下python2.7+Apache+mod_wsgi+Django服务器配置
前言:试着使用python搭建一个网页,分别在windows下和linux下,本篇文章主要讲解Window下python+Apache+mod_wsgi+Django服务器配置过程中遇见的问题和解决方 ...
- 在 KVM 上安装 Win7 虚拟机
之前都是在用Linux 虚机,现在有需要用到Win7 虚机,才发现在 KVM 上安装 Win7 的过程远比想象中的复杂.本文就把其过程做个简单总结. 1. 在 Virtual Machine Mana ...
- CH Round #72 奇数码问题[逆序对 观察]
描述 你一定玩过八数码游戏,它实际上是在一个3*3的网格中进行的,1个空格和1~8这8个数字恰好不重不漏地分布在这3*3的网格中. 例如:5 2 81 3 _4 6 7 在游戏过程中,可以把空格与其上 ...
- Python-13-堡垒机开发
今天主要是熟悉堡垒机开发流程.
- Python-03-基础
一.集合 集合(set)是一个无序的.不重复的元素组合,它的主要作用如下: 去重:把一个列表变成集合,就会自动去重. 关系测试:测试两组数据之前的交集.差集.并集等关系. 常用操作 # 创建数值集合 ...
- visual studio 2015中的webapi生成helpPage,页面不显示方法说明问题解决
环境: vs2015.win7 参考:http://www.cnblogs.com/Erik_Xu/p/5638381.html 生成的help页面如下:,并没有显示控制器和方法. 原因是:新建项目时 ...
- Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
Windows 2008上的IIS7.5,FTP功能已经非常强大了,完全不下于Serv-U这样的第三方软件.本文小编就介绍在IIS7.5上配置独立账号的FTP站点. 1.创建Windows账号 右击点 ...
- 析构函数virtual与非virtual区别 [转]
作为通常的原则,如果一个类定义了虚函数,那么它的析构函数就应当是virtual的.因为定义了虚函数则隐含着:这个类会被继承,并且会通过基类的指针指向子类对象,从而得到多态性. 这个类可能会被继承, ...
- WCF中的错误及解决办法
一 . HTTP 无法注册 URL http://+:8000/Users/.进程不具有此命名空间的访问权限今天按照网上的例子开始学习WCF程序,运行的时候却发现出如下问题:HTTP 无法注册 ...