16 진수 RGB 문자열에서 System.Drawing.Color를 만드는 방법은 무엇입니까?


84

코드를 작성할 필요가 없거나 System.Drawing.Color비슷 #FF00FF하거나 FF00FF필요하지 않은 값 에서을 만들고 싶습니다 . .NET 내장 파서가 있습니까?

답변:



62

System.Drawing.ColorTranslator 정적 메서드 FromHtml을 사용할 수 있습니다.

사용하다:

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

18

Convert-Class 를 사용하면 다소 쉽습니다 . 이 ToInt32함수에는 문자열이있는 기준을 나타내는 두 번째 매개 변수가있는 오버로드가 있습니다.

using System.Drawing

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

9

ColorConverter 클래스를 사용합니다 .

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

이것은 또한 ConvertFromString ( "Blue")과 같은 표준 명명 된 색상에서 변환 할 수 있습니다.

표준 .NET 유형 변환 메커니즘에 대한 설명은 여기 를 참조 하십시오 .


1

사용하려는 색상이 상수이면 C #에서 System.Drawing.Color.FromArgb (0xFF00FF). 문자열에서 정수로의 구문 분석이 런타임이 아닌 컴파일 타임에 수행되기 때문에 System.Drawing.Color.FromName또는 보다 약간 빠릅니다 System.Drawing.Color.FromHtml.


0

FromName 메서드가 저에게 효과적이었습니다.

System.Drawing.Color.FromName("#FF00FF");
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.