• 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相关推荐

  1. iOS之颜色的调用、显示16进制颜色、渐变色

    十六进制颜色 #import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface UIColor (HexColor) + (UIColor ...

  2. WPF 后面板设置16进制颜色,透明;

    16进制颜色 Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0") ...

  3. 【图片】Python对RGB颜色与16进制颜色进行互转

    RGB颜色被称为"真彩色",是Photoshop中默认使用的颜色,也是最常用的一种颜色模式.RGB模式的图像由3个颜色通道组成,分别为红色通道(Red).绿色通道(Green)和蓝 ...

  4. iOS 将16进制颜色转换成UIColor

    很多地方我们都使用16进制颜色,但iPhone使用的是UIColor对象,不直接支持16进制颜色,为此,需要我们手动将16进制颜色转换为UIColor - (UIColor *) hexStringT ...

  5. 16进制颜色识别和搭配规律

    在CSS中,经常会用到16进制的颜色来设置文本.背景.边框等颜色,但是对于一个纯前端来讲,16进制颜色的识别和搭配可能会较为陌生了 ,本文简单介绍一下16进制颜色的一些规律 16进制颜色的数值意义: ...

  6. iOS 直接使用16进制颜色

    在做iOS开发时,一般我们会吸色,就是产品给的图我们一般会吸色,但是最近吸色时候,老大说有较大的颜色偏差,所以要求我们直接使用UI给出的额16进制颜色,你也可以搜索<RGB颜色值转换成十六进制颜 ...

  7. POI 自定义16进制颜色导出

    今天导入一个Excel 要求什么格式导入就怎么显示,包括字体 颜色,还要怎么导出.这个poi导入的是16进制颜色,导出比较麻烦.具体参考以下代码吧 private CellStyle createSt ...

  8. 16进制颜色识别和搭配规律 (实用)

    原文出处:https://blog.csdn.net/weixin_39037804/article/details/100266599 在CSS中,经常会用到16进制的颜色来设置文本.背景.边框等颜 ...

  9. rgb与16进制颜色是如何相互转换的?

    在css中定义颜色可以使用rgb颜色值,例:rgb(182, 0, 35):也可以使用16进制颜色值,例:#B60023.不管是rgb(182, 0, 35),还是#B60023都表示了同一种颜色,其 ...

最新文章

  1. 自定义标签 tag AttachTag 实现附件jsp方便的显示和下载
  2. UOJ#449. 【集训队作业2018】喂鸽子
  3. 虚幻4 ue4 学习笔记pwan篇 1.4 pawn结合UPawnMovementComponent类 移动组件实现 移动球体添加物理碰撞...
  4. mathematica在linux上运行,Mathematicamatlab的linux版的安装
  5. 什么叫组网_家庭wifi,如何组网最合适
  6. [转] React风格的企业前端技术
  7. python接口脚本实例_python图形用户接口实例详解
  8. kibana服务器性能要求,Kibana停止工作,尽管kibana.service正常启动,但服务器未准备就绪...
  9. 笔记67 Spring Boot快速入门(七)
  10. 干货 | 人工智能应用落地的关键成功要素
  11. Scc Puzzle
  12. Android——广播
  13. 基于51单片机+ULN2003控制步进电机S曲线加减速
  14. DataWhale数据挖掘学习--Task 2 数据分析
  15. 艾美捷RPMI-1640培养基含L-谷氨酰胺的功能和研究
  16. 计算机二级抽题规律,计算机二级考试抽题规律计算机二级考试题及答案.doc
  17. 【MySQL报错】1366 - Incorrect string value: ‘\xE6\x80\xBB\xE7\xBB\x8F...‘ for column ‘name‘ at row 1
  18. 推荐一款免费的带有坐标系的在线绘图web应用(汇报神器)
  19. 随机生成电话号码保存在txt中并按行读取以及简易抽奖程序
  20. r7 4700u核显相当于什么显卡

热门文章

  1. 设置WordPress文章关键词自动获取,文章所属分类名称,描述自动获取文章内容,给文章的图片自动加上AlT标签...
  2. kafka 常用命令汇总
  3. java中不带package和带package的编译运行方式
  4. scp和ssh如何连接指定端口的远程主机
  5. C#中找不到MouseWheel事件的解决办法
  6. BeanUtil使用例子:解析并转化HttpServletRequest到Bean的全面测试
  7. Liunx下使用Nginx负载均衡
  8. maven打包:找不到符号 符号: 方法 getXxx()
  9. android动态切换logo和label
  10. Android 常用设计模式——观察者模式,单例模式,Builder模式,原型模式,命令模式