利用ColorTranslator类快速地互换颜色码

14 篇文章 0 订阅

from: http://demo.tc/Post/210

♥小提醒:首先我們要using System.Drawing 這個命名空間

之前我們轉#FF99CC讓它變ARGB的時候需要寫成這樣


    
    
  1. string myColor = "#99ffcc";
  2. MatchCollection hColor = Regex.Matches(myColor, @"([0-9A-Fa-f]{2})");
  3. Color newColor = new Color();
  4. if (hColor.Count == 3)
  5. {
  6.     int r = Convert.ToInt32(hColor[0].Groups[0].Value, 16);
  7.     int g = Convert.ToInt32(hColor[1].Groups[0].Value, 16);
  8.     int b = Convert.ToInt32(hColor[2].Groups[0].Value, 16);
  9.     newColor = Color.FromArgb(r, g, b);
  10. }

現在我們有了ColorTranslator以後只需要這樣寫


    
    
  1. string myColor = "#99ffcc";
  2.  
  3. string newColor;
  4.  
  5. Color c = ColorTranslator.FromHtml(myColor);
  6.  
  7. newColor = string.Format("A{0}、R{1}、G{2}、B{3}", c.A, c.R, c.G, c.B);
  8.  
  9. Response.Write(c);//輸出Color [A=255, R=153, G=255, B=204]  
  10.  
  11. Response.Write(newColor);//輸出 A255、R153、G255、B204
 
能轉過去當然也可以轉回來

    
    
  1. string newColor;
  2. Color c = Color.Green;
  3. string myColor = ColorTranslator.ToHtml(c);
  4. newColor = string.Format("#{0:x2}{1:x2}{2:x2}", c.R, c.G, c.B);
  5. Response.Write(newColor);//輸出#008000

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值