코드를 작성할 필요가 없거나 System.Drawing.Color
비슷 #FF00FF
하거나 FF00FF
필요하지 않은 값 에서을 만들고 싶습니다 . .NET 내장 파서가 있습니까?
답변
ColorTranslator.FromHtml("#FF00FF");
답변
System.Drawing.ColorTranslator 정적 메서드 FromHtml을 사용할 수 있습니다.
사용하다:
System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
답변
Convert-Class 를 사용하면 다소 쉽습니다 . 이 ToInt32
함수에는 문자열이있는 기준을 나타내는 두 번째 매개 변수가있는 오버로드가 있습니다.
using System.Drawing
Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));
답변
ColorConverter 클래스를 사용합니다 .
var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );
이것은 또한 ConvertFromString ( “Blue”)과 같은 표준 명명 된 색상에서 변환 할 수 있습니다.
표준 .NET 유형 변환 메커니즘에 대한 설명은 여기 를 참조 하십시오 .
답변
사용하려는 색상이 상수이면 C #에서 System.Drawing.Color.FromArgb (0xFF00FF)
. 문자열에서 정수로의 구문 분석이 런타임이 아닌 컴파일 타임에 수행되기 때문에 System.Drawing.Color.FromName
또는 보다 약간 빠릅니다 System.Drawing.Color.FromHtml
.
답변
FromName 메서드가 저에게 효과적이었습니다.
System.Drawing.Color.FromName("#FF00FF");