728x90
반응형
728x170
using System;
using System.Windows.Media;
#region 색상 구하기 - GetColor(hue, saturation, value)
/// <summary>
/// 색상 구하기
/// </summary>
/// <param name="hue">색상</param>
/// <param name="saturation">채도</param>
/// <param name="value">명도</param>
/// <returns>색상</returns>
public Color GetColor(double hue, double saturation, double value)
{
double red = 0;
double green = 0;
double blue = 0;
if(saturation == 0)
{
red = value;
green = value;
blue = value;
}
else
{
int i;
double f;
double p;
double q;
double t;
if(hue == 360)
{
hue = 0;
}
else
{
hue = hue / 60;
}
i = (int)Math.Truncate(hue);
f = hue - i;
p = value * (1.0 - saturation);
q = value * (1.0 - (saturation * f));
t = value * (1.0 - (saturation * (1.0 - f)));
switch (i)
{
case 0 :
red = value;
green = t;
blue = p;
break;
case 1 :
red = q;
green = value;
blue = p;
break;
case 2 :
red = p;
green = value;
blue = t;
break;
case 3 :
red = p;
green = q;
blue = value;
break;
case 4 :
red = t;
green = p;
blue = value;
break;
default :
red = value;
green = p;
blue = q;
break;
}
}
return Color.FromArgb(255, (byte)(red * 255), (byte)(green * 255), (byte)(blue * 255));
}
#endregion
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] RadialGradientBrush 엘리먼트 사용하기 (0) | 2020.08.03 |
---|---|
[C#/WPF] ContentControl 엘리먼트 : Style 속성 사용하기 (0) | 2020.08.03 |
[C#/WPF] FrameworkElement 클래스 : DefaultStyleKeyProperty 속성을 사용해 컨트롤 테마 스타일 설정하기 (0) | 2020.08.03 |
[C#/WPF] FrameworkElement 엘리먼트 : OverridesDefaultStyle 속성을 사용해 테마 스타일 사용하기 (0) | 2020.08.03 |
[C#/WPF] DrawingBrush 엘리먼트 : GeometryDrawing 객체를 사용해 체크 배경 브러시 만들기 (0) | 2020.08.02 |
[C#/WPF] 색상 선택기 사용하기 (0) | 2020.08.02 |
[C#/WPF] LinearGradientBrush 클래스 : 속성 값 변경하기 (0) | 2020.08.01 |
[C#/WPF] LinearGradientBrush 클래스 : 애니메이션 사용하기 (0) | 2020.07.31 |
[C#/WPF] Brush 클래스 : RelativeTransform/Transform 속성 사용하기 (0) | 2020.07.31 |
[C#/WPF] Brushes 클래스 : 미리 정의된 브러시 사용하기 (0) | 2020.07.31 |
댓글을 달아 주세요