반응형
16진수 색상 값에서 솔리드 색상 브러시 만들기
#ffaacc와 같은 16진수 값으로 SolidColorBrush를 만들고 싶습니다.어떻게 해야 하나요?
MSDN에서, 저는 다음을 얻었습니다.
SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255);
그래서 저는 (제 방법이 색상을 받는 것을 고려하여) 썼습니다.#ffaacc):
Color.FromRgb(
Convert.ToInt32(color.Substring(1, 2), 16),
Convert.ToInt32(color.Substring(3, 2), 16),
Convert.ToInt32(color.Substring(5, 2), 16));
하지만 이것은 다음과 같은 오류를 주었습니다.
The best overloaded method match for 'System.Windows.Media.Color.FromRgb(byte, byte, byte)' has some invalid arguments
또한 다음과 같은 3개의 오류:Cannot convert int to byte.
그렇다면 MSDN 예제는 어떻게 작동합니까?
대신 사용해 보십시오.
(SolidColorBrush)new BrushConverter().ConvertFrom("#ffaacc");
다음을 사용해 왔습니다.
new SolidColorBrush((Color)ColorConverter.ConvertFromString("#ffaacc"));
를 사용하여 16진수 색상 코드에서 색상을 가져오는 방법.NET?
이것이 당신이 추구하는 것이라고 생각합니다, 그것이 당신의 질문에 답하기를 바랍니다.
코드를 작동시키려면 변환을 사용합니다.변환 대신 바이트로 변환합니다.수신인...
string colour = "#ffaacc";
Color.FromRgb(
Convert.ToByte(colour.Substring(1,2),16),
Convert.ToByte(colour.Substring(3,2),16),
Convert.ToByte(colour.Substring(5,2),16));
using System.Windows.Media;
byte R = Convert.ToByte(color.Substring(1, 2), 16);
byte G = Convert.ToByte(color.Substring(3, 2), 16);
byte B = Convert.ToByte(color.Substring(5, 2), 16);
SolidColorBrush scb = new SolidColorBrush(Color.FromRgb(R, G, B));
//applying the brush to the background of the existing Button btn:
btn.Background = scb;
매번 변환 시 발생하는 문제를 해결하고 싶지 않다면 확장 방법을 만들기만 하면 됩니다.
public static class Extensions
{
public static SolidColorBrush ToBrush(this string HexColorString)
{
return (SolidColorBrush)(new BrushConverter().ConvertFrom(HexColorString));
}
}
그런 다음 다음과 같이 사용합니다.BackColor = "#FFADD8E6".ToBrush()
또는 동일한 작업을 수행할 수 있는 방법을 제공할 수 있습니다.
public SolidColorBrush BrushFromHex(string hexColorString)
{
return (SolidColorBrush)(new BrushConverter().ConvertFrom(hexColorString));
}
BackColor = BrushFromHex("#FFADD8E6");
vb.net 버전
Me.Background = CType(New BrushConverter().ConvertFrom("#ffaacc"), SolidColorBrush)
언급URL : https://stackoverflow.com/questions/10062376/creating-solidcolorbrush-from-hex-color-value
반응형
'programing' 카테고리의 다른 글
| 파이프 ' '을(를) 찾을 수 없습니다. 각도2 사용자 지정 파이프 (0) | 2023.04.28 |
|---|---|
| SQL - varchar 데이터 유형을 datetime 데이터 유형으로 변환하여 값이 범위를 벗어났습니다. (0) | 2023.04.28 |
| 원격 RDP에서 로컬 시스템으로 파일 복사 (0) | 2023.04.28 |
| 확장명 VBA가 없는 파일 이름 (0) | 2023.04.28 |
| Apple 스타일 스크롤 막대 WPF (0) | 2023.04.28 |