장난감 연구소

[UWP] .NET, UWP에서 Color 형식을 헥사코드로 변환 본문

개발/UWP

[UWP] .NET, UWP에서 Color 형식을 헥사코드로 변환

changi1122 2019. 2. 26. 14:03
    728x90

    Windows.UI.Color 형식을 헥사코드("#XXXXXX")로 변환

    UWP

    Color Color1 = Color.Red;
    string hex = "#" + Color1.R.ToString("X2", null) +
                       Color1.G.ToString("X2", null) +
                       Color1.B.ToString("X2", null);
    

    .NET

    Color Color1 = Color.Red;
    string hex = System.Drawing.ColorTranslator.ToHtml(myColor);
    

     

    이 문서를 보고 UWP 앱에서도 ColorTranslator 클래스의 ToHtml 메소드를 사용하면 Color를 바로 헥사코드 문자열로 바꿀 수 있을 줄 알았다. 그런데 안되는 것을 보니 잘 모르겠지만 UWP의 System.Drawing 네임스페이스가 문서에서 설명하는 것에 차이가 있는 것 같다. 아마.. 그래서 이 문서에서 ToHtml 메소드의 필요한 부분만 가져오니 작동하였다. 아마 WPF에서는 아래 코드가 작동하지 싶다.

     

    참고 : 윈도우 테마 컬러를 가져와 헥사코드로 변환하는 코드

    Windows.UI.Color accentColor = (Windows.UI.Color)this.Resources["SystemAccentColor"];
    string hex = "#" + accentColor.R.ToString("X2", null) +
                       accentColor.G.ToString("X2", null) +
                       accentColor.B.ToString("X2", null);