[Silverlight]16进制颜色转ARGB及Color转Int32
- 16进制色字符串转ARGB
做Web的都喜欢用16进制字符串标识颜色,比如“#F5F5F5”这类的,自然这个到了Silverlight/WPF中就要用ARGB表示:“#FFF5F5F5”(前两位标识Alpha,即透明度)。这在XAML中没有任何问题,可是如果我们想在代码中设置颜色呢,或者是从XML中读取的相关值呢?
必然会报错嘛,至少我是不知道SL或者WPF有没有公开这个Converter,反正俺是无能为力
这里提供一个代码片段,帮助我们将16进制字符串转为ARGB色
public static Color ToColor(this string colorName) {if (colorName.StartsWith("#"))colorName = colorName.Replace("#", string.Empty);int v = int.Parse(colorName, System.Globalization.NumberStyles.HexNumber);return new Color() {A = Convert.ToByte((v >> 24) & 255),R = Convert.ToByte((v >> 16) & 255),G = Convert.ToByte((v >> 8) & 255),B = Convert.ToByte((v >> 0) & 255)}; }
这里我做成了扩展方法,之后这样使用
Rectangle rectangle = new Rectangle(); rectangle.Fill = new SolidColorBrush("#FFF5F5F5".ToColor());
自然就没问题了
- Color转Int32
看到这里你可能要问了,Color转int有啥用啊?其实如果你在用一些现有的图像库的时候,它们经常将Color表现为一个int值。在这种情况下,ARGB值是通过其AARRGGBB的byte的顺序用32位int表现的。这里我们可以做如下转换:
public static int ToArgb(this Color color) {int argb = color.A << 24;argb += color.R << 16;argb += color.G << 8;argb += color.B;return argb; }
以下是这两个方法的一个综合应用:
Rectangle rectangle = new Rectangle(); SolidColorBrush scb = new SolidColorBrush(); scb.Color = "#FFF5F5F5".ToColor(); rectangle.Fill = scb; MessageBox.Show(scb.Color.ToArgb().ToString());
猜猜MessageBox Show出来的值是什么?
OK,散会:)
转载于:https://www.cnblogs.com/024hi/archive/2009/09/28/1576040.html
[Silverlight]16进制颜色转ARGB及Color转Int32相关推荐
- iOS之颜色的调用、显示16进制颜色、渐变色
十六进制颜色 #import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface UIColor (HexColor) + (UIColor ...
- WPF 后面板设置16进制颜色,透明;
16进制颜色 Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0") ...
- 【图片】Python对RGB颜色与16进制颜色进行互转
RGB颜色被称为"真彩色",是Photoshop中默认使用的颜色,也是最常用的一种颜色模式.RGB模式的图像由3个颜色通道组成,分别为红色通道(Red).绿色通道(Green)和蓝 ...
- iOS 将16进制颜色转换成UIColor
很多地方我们都使用16进制颜色,但iPhone使用的是UIColor对象,不直接支持16进制颜色,为此,需要我们手动将16进制颜色转换为UIColor - (UIColor *) hexStringT ...
- 16进制颜色识别和搭配规律
在CSS中,经常会用到16进制的颜色来设置文本.背景.边框等颜色,但是对于一个纯前端来讲,16进制颜色的识别和搭配可能会较为陌生了 ,本文简单介绍一下16进制颜色的一些规律 16进制颜色的数值意义: ...
- iOS 直接使用16进制颜色
在做iOS开发时,一般我们会吸色,就是产品给的图我们一般会吸色,但是最近吸色时候,老大说有较大的颜色偏差,所以要求我们直接使用UI给出的额16进制颜色,你也可以搜索<RGB颜色值转换成十六进制颜 ...
- POI 自定义16进制颜色导出
今天导入一个Excel 要求什么格式导入就怎么显示,包括字体 颜色,还要怎么导出.这个poi导入的是16进制颜色,导出比较麻烦.具体参考以下代码吧 private CellStyle createSt ...
- 16进制颜色识别和搭配规律 (实用)
原文出处:https://blog.csdn.net/weixin_39037804/article/details/100266599 在CSS中,经常会用到16进制的颜色来设置文本.背景.边框等颜 ...
- rgb与16进制颜色是如何相互转换的?
在css中定义颜色可以使用rgb颜色值,例:rgb(182, 0, 35):也可以使用16进制颜色值,例:#B60023.不管是rgb(182, 0, 35),还是#B60023都表示了同一种颜色,其 ...
最新文章
- 自定义标签 tag AttachTag 实现附件jsp方便的显示和下载
- UOJ#449. 【集训队作业2018】喂鸽子
- 虚幻4 ue4 学习笔记pwan篇 1.4 pawn结合UPawnMovementComponent类 移动组件实现 移动球体添加物理碰撞...
- mathematica在linux上运行,Mathematicamatlab的linux版的安装
- 什么叫组网_家庭wifi,如何组网最合适
- [转] React风格的企业前端技术
- python接口脚本实例_python图形用户接口实例详解
- kibana服务器性能要求,Kibana停止工作,尽管kibana.service正常启动,但服务器未准备就绪...
- 笔记67 Spring Boot快速入门(七)
- 干货 | 人工智能应用落地的关键成功要素
- Scc Puzzle
- Android——广播
- 基于51单片机+ULN2003控制步进电机S曲线加减速
- DataWhale数据挖掘学习--Task 2 数据分析
- 艾美捷RPMI-1640培养基含L-谷氨酰胺的功能和研究
- 计算机二级抽题规律,计算机二级考试抽题规律计算机二级考试题及答案.doc
- 【MySQL报错】1366 - Incorrect string value: ‘\xE6\x80\xBB\xE7\xBB\x8F...‘ for column ‘name‘ at row 1
- 推荐一款免费的带有坐标系的在线绘图web应用(汇报神器)
- 随机生成电话号码保存在txt中并按行读取以及简易抽奖程序
- r7 4700u核显相当于什么显卡
热门文章
- 设置WordPress文章关键词自动获取,文章所属分类名称,描述自动获取文章内容,给文章的图片自动加上AlT标签...
- kafka 常用命令汇总
- java中不带package和带package的编译运行方式
- scp和ssh如何连接指定端口的远程主机
- C#中找不到MouseWheel事件的解决办法
- BeanUtil使用例子:解析并转化HttpServletRequest到Bean的全面测试
- Liunx下使用Nginx负载均衡
- maven打包:找不到符号 符号: 方法 getXxx()
- android动态切换logo和label
- Android 常用设计模式——观察者模式,单例模式,Builder模式,原型模式,命令模式