zoukankan      html  css  js  c++  java
  • SilverLight ColorTool

    public class ColorTool
        {
            /// <summary>
            /// 从ARGB转换
            /// </summary>
            /// <param name="color"></param>
            /// <returns></returns>
            public static SolidColorBrush FromArgb(string color)
            {
                int[] a = new int[4];
                int[] b = new int[8];
                string rg1 = "#[a-fA-F0-9]{8}";
                Regex r1 = new Regex(rg1);
                if (r1.IsMatch(color))
                {
                    for (int i = 0; i < 8; i++)
                    {
                        switch (color.Substring(i + 1, 1))
                        {
                            case "a":
                            case "A": b[i] = 10; break;
                            case "b":
                            case "B": b[i] = 11; break;
                            case "c":
                            case "C": b[i] = 12; break;
                            case "d":
                            case "D": b[i] = 13; break;
                            case "e":
                            case "E": b[i] = 14; break;
                            case "f":
                            case "F": b[i] = 15; break;
                            default: b[i] = int.Parse(color.Substring(i + 1, 1)); break;
                        }
                    }
                }
                else
                {
                    string rg2 = @"^[A-Fa-f0-9]{8}";
                    Regex r2 = new Regex(rg2);
                    if (r2.IsMatch(color))
                    {
                        for (int i = 0; i < 8; i++)
                        {
                            switch (color.Substring(i, 1))
                            {
                                case "a":
                                case "A": b[i] = 10; break;
                                case "b":
                                case "B": b[i] = 11; break;
                                case "c":
                                case "C": b[i] = 12; break;
                                case "d":
                                case "D": b[i] = 13; break;
                                case "e":
                                case "E": b[i] = 14; break;
                                case "f":
                                case "F": b[i] = 15; break;
                                default: b[i] = int.Parse(color.Substring(i, 1)); break;
                            }
                        }
                    }
                }
                a[0] = b[0] * 16 + b[1];
                a[1] = b[2] * 16 + b[3];
                a[2] = b[4] * 16 + b[5];
                a[3] = b[6] * 16 + b[7];
                return (new SolidColorBrush(Color.FromArgb((byte)a[0], (byte)a[1], (byte)a[2], (byte)a[3])));
            }
            /// <summary>
            /// 从Color转换
            /// </summary>
            /// <param name="color"></param>
            /// <returns></returns>
            public static SolidColorBrush FromColor(Color color)
            {
                return new SolidColorBrush(color);
            }
        }

    QQ群:1022985150 VX:kklldog 一起探讨学习.NET技术
    作者:Agile.Zhou(kklldog)
    出处:http://www.cnblogs.com/kklldog/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    [转载]在sharepoint里增加PDF图标显示收藏主题
    CuratorFramework开源Zookeeper快速开发框架介绍
    Zookeeper和CuratorFramework实践之:分布式消息队列
    Zookeeper和CuratorFramework实践系列之: 配置管理
    JS 文字向上滚动代码
    sql递归查询问题
    双线单IP和双线双IP机房的区别
    js获取标准北京时间
    ftp 21端口被占用解决办法
    "由于没有远程桌面授权服务器可以提供许可证..."不能远程桌面解决方法
  • 原文地址:https://www.cnblogs.com/kklldog/p/2029098.html
Copyright © 2011-2022 走看看