현재 응용 프로그램에서 작업 중이며 제공되는 색상 (보완, 분할 상보, 유사, 삼중, 사각, 사각형 등)을 찾으려고합니다. 기본 색상. 색상 하모니 이론 및 알고리즘, 보완법, 삼중 항, 사변형 등
내가 지금 뭐하는 거지 :- 변환 RGB 색상을 HSV 에
- 변환을 360도 휠 주위에 색상을 얻을 수있는 H 값을 조정 (S 및 V 값은 그대로입니다) : HSV 다시 RGB로 여기
는 트라이어드 대한 예시 (HSV 객체가 기본 색상을 나타낸다)을 인
colors.Add(new HSVData() { h = hsv.h + 90, s = hsv.s, v = hsv.v });
colors.Add(new HSVData() { h = hsv.h + 180, s = hsv.s, v = hsv.v });
colors.Add(new HSVData() { h = hsv.h + 270, s = hsv.s, v = hsv.v });
RGB HSV에 :
public static HSVData RGBtoHSV(RGBResult RGB)
{
double min;
double max;
double delta;
double r = (double)RGB.r/255;
double g = (double)RGB.g/255;
double b = (double)RGB.b/255;
double h;
double s;
double v;
min = Math.Min(Math.Min(r, g), b);
max = Math.Max(Math.Max(r, g), b);
v = max;
delta = max - min;
if (max == 0 || delta == 0)
{
s = 0;
h = 0;
}
else
{
s = delta/max;
if (r == max)
{
// Between Yellow and Magenta
h = (g - b)/delta;
}
else if (g == max)
{
// Between Cyan and Yellow
h = 2 + (b - r)/delta;
}
else
{
// Between Magenta and Cyan
h = 4 + (r - g)/delta;
}
}
h *= 60;
if (h < 0)
{
h += 360;
}
return new HSVData()
{
h = (int)(h/360 * 255),
s = (int)(s * 255),
v = (int)(v * 255)
};
}
HSV RGB로 : 나는 점점 오전
public static Color ConvertHsvToRgb(float h, float s, float v)
{
byte MAX = 255;
h = h/360;
if (s > 0)
{
if (h >= 1)
h = 0;
h = 6 * h;
int hueFloor = (int)Math.Floor(h);
byte a = (byte)Math.Round(MAX * v * (1.0 - s));
byte b = (byte)Math.Round(MAX * v * (1.0 - (s * (h - hueFloor))));
byte c = (byte)Math.Round(MAX * v * (1.0 - (s * (1.0 - (h - hueFloor)))));
byte d = (byte)Math.Round(MAX * v);
switch (hueFloor)
{
case 0: return Color.FromArgb(MAX, d, c, a);
case 1: return Color.FromArgb(MAX, b, d, a);
case 2: return Color.FromArgb(MAX, a, d, c);
case 3: return Color.FromArgb(MAX, a, b, d);
case 4: return Color.FromArgb(MAX, c, a, d);
case 5: return Color.FromArgb(MAX, d, a, b);
default: return Color.FromArgb(0, 0, 0, 0);
}
}
else
{
byte d = (byte)(v * MAX);
return Color.FromArgb(255, d, d, d);
}
}
색상이 많은 온라인 색상 도구에 따라 잘못
그리고 광장에 대한 1,399,113,210 ! HSV를 사용해야합니까? 내가 도대체 뭘 잘못하고있는 겁니까? 에 비해
온라인 도구 : 사전에
http://colorschemedesigner.com/
http://www.colorsontheweb.com/colorwizard.asp
감사합니다!
변환 루틴을 RGB에서 HSV 및 HSV에서 RGB로 표시하십시오. 그리고 그들이 어떻게 잘못되었는지 말해주십시오. 예상 출력과 함께 예제 입력 및 실제 출력을 보여줍니다. –
답장을 보내 주셔서 감사합니다. 원래 게시물을 편집했습니다. – JPSavard