2009-12-16 17 views

Trả lời

142
ColorTranslator.FromHtml("#FF00FF"); 
14

Khá dễ dàng khi bạn sử dụng Convert-Class. Chức năng ToInt32 có tình trạng quá tải với một tham số thứ hai đại diện cho các cơ sở chuỗi là trong

using System.Drawing 

Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16)); 
9

Sử dụng các lớp ColorConverter:.

var converter = System.ComponentModel.TypeDescriptor.GetConverter(typeof(Color)); 
color = converter.ConvertFromString("#FF00FF"); 

này cũng có thể chuyển đổi từ tiêu chuẩn đặt tên màu sắc ví dụ ConvertFromString ("Blue")

Xem here để thảo luận về các cơ chế chuyển đổi kiểu .NET chuẩn.

51

Bạn có thể sử dụng phương pháp tĩnh System.Drawing.ColorTranslator FromHtml.

sử dụng:

System.Drawing.ColorTranslator.FromHtml("#FFFFFF"); 
0

Phương pháp FROMNAME làm việc cho tôi

System.Drawing.Color.FromName("#FF00FF"); 
+0

Tính năng này không hoạt động đối với .NET 3.5 – UNeverNo

0

Nếu màu sắc mà bạn muốn sử dụng là một hằng số, trong C# sử dụng System.Drawing.Color.FromArgb (0xFF00FF). Đó là hơi nhanh hơn System.Drawing.Color.FromName hoặc System.Drawing.Color.FromHtml, vì việc phân tích cú pháp từ chuỗi thành số nguyên được thực hiện tại thời gian biên dịch chứ không phải lúc chạy.