C# 的Color 颜色转换

简介: //方法1://引用命名空间 using System.Drawing;16进制颜色代码转Color类型:ColorTranslator.FromHtml(color);Color类型转16进制颜色代码:ColorTranslator.
// 方法1:
// 引用命名空间 using System.Drawing;

16进制颜色代码转Color类型:ColorTranslator.FromHtml(color);
Color类型转16进制颜色代码:ColorTranslator.ToHtml(_color);

// 方法2:
          ///   <summary>
        
///  将字符串转换为Color
        
///   </summary>
        
///   <param name="color"> 带#号的16进制颜色 </param>
        
///   <returns></returns>
         public  Color ToColor( string  color)
        {

            
int  red, green, blue  =   0 ;
            
char [] rgb;
            color 
=  color.TrimStart( ' # ' );
            color 
=  Regex.Replace(color.ToLower(),  " [g-zG-Z] " "" );
            
switch  (color.Length)
            {
                
case   3 :
                    rgb 
=  color.ToCharArray();
                    red 
=  Convert.ToInt32(rgb[ 0 ].ToString()  +  rgb[ 0 ].ToString(),  16 );
                    green 
=  Convert.ToInt32(rgb[ 1 ].ToString()  +  rgb[ 1 ].ToString(),  16 );
                    blue 
=  Convert.ToInt32(rgb[ 2 ].ToString()  +  rgb[ 2 ].ToString(),  16 );
                    
return  Color.FromArgb(red, green, blue);
                
case   6 :
                    rgb 
=  color.ToCharArray();
                    red 
=  Convert.ToInt32(rgb[ 0 ].ToString()  +  rgb[ 1 ].ToString(),  16 );
                    green 
=  Convert.ToInt32(rgb[ 2 ].ToString()  +  rgb[ 3 ].ToString(),  16 );
                    blue 
=  Convert.ToInt32(rgb[ 4 ].ToString()  +  rgb[ 5 ].ToString(),  16 );
                    
return  Color.FromArgb(red, green, blue);
                
default :
                    
return  Color.FromName(color);

            }
        }

        
public   string  ColorToHex(Color _color)
        {
            
// return "#" + String.Format("{0:X}", Color.FromArgb(_color.R, _color.G, _color.B).ToArgb()).Substring(2);
            
// return Convert.ToString(Color.FromArgb(_color.R, _color.G, _color.B).ToArgb(), 16).Substring(2);

        }


目录
相关文章
|
6月前
|
机器学习/深度学习 算法 数据处理
ML.NET 快速入门与实践教程:开源机器学习框架
码农刚子带你轻松入门ML.NET!微软开源的.NET专属机器学习框架,无需Python基础,用C#即可完成数据加载、模型训练、评估与预测。本文以成绩预测为案例,详解核心概念与全流程,并附房价预测拓展实践,助你快速上手智能应用开发。
284 2
|
5月前
|
存储 关系型数据库 MySQL
【超详细】MariaDB下载安装保姆级教程(附安装包,2026最新)
MariaDB是由MySQL创始人Monty主导开发的开源关系型数据库,完全兼容MySQL,性能更优、存储引擎更丰富(如Aria、ColumnStore),GPLv2永久开源。广泛用于Web应用与开发环境,开箱即用,零学习成本。(239字)
|
NoSQL 定位技术 MongoDB
深入探索 MongoDB:高级索引解析与优化策略
深入探索 MongoDB:高级索引解析与优化策略
524 1
|
人工智能 JavaScript 前端开发
Godot-创建一个3D棋盘
本教程介绍使用C#在Godot引擎中创建3D棋盘游戏。内容包括:下载Godot .NET版本、创建主场景和单元格场景、设置相机与碰撞检测、添加3D模型及材质,并通过C#脚本实现8x8黑白棋盘。附带完整代码示例和运行效果展示,适合初学者入门Godot 3D开发。
513 0
|
Cloud Native
云原生架构之X无限延伸:跨AZ、跨Region、跨Cloud,一文让你彻底解锁!
【8月更文挑战第25天】在云原生架构中,可扩展性至关重要,它确保了应用能按需高效调整资源。本文聚焦于三种扩展策略:跨AZ、跨Region及跨云扩展。跨AZ扩展通过在同一云内部不同可用区间部署应用副本增强容错性;跨Region扩展则通过不同地理区域的应用副本部署提升全球访问性能与可靠性;而跨云扩展则利用多云环境进一步加强应用的弹性和覆盖范围。文中提供了基于AWS CloudFormation的具体实践示例,帮助读者深入理解这些扩展机制的实际应用。
1064 2
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
1604 9
|
BI Linux API
掌握 SkiaSharp 轻松实现 .NET 跨平台绘图
.NET 框架的发展,我们越来越多地寻求能够在多个平台上无缝运行的应用解决方案。
2684 2
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
1174 0