이것은 매우 어리석은 질문 일지 모르지만 내 문제를 명확히하고 싶습니다. RGB & HSL 사이의 변환을위한 몇 가지 알고리즘을 보았습니다. var_1과 var_2를 보았습니다. 이 변수들이 실제로 무엇인지 궁금 해서요? 나는 그들이 왜 그리고 왜 내가 변환을 위해 변경해야 하는지를 완전히 이해하기를 원했을 때 오류로 보일 것을 알았다.HSL에서 RGB로 변환 도움이 필요합니다
void HSLToRGB(int H, int S, int L, int& R, int& G, int& B)
{
H = 240;
S = 47;
L = 58;
if (S == 0)
{
R = L * 255
G = L * 255
B = L * 255
}
else
{
if (L < 0.5) { var_2 = L * (1 + S); }
else
{
var_2 = (L + S) - (S * L);
var_1 = 2 * L - var_2;
}
var_1 = 2 * L- var_2;
R = 255 * Hue_2_RGB(var_1, var_2, H + (1/3));
G = 255 * Hue_2_RGB(var_1, var_2, H);
B = 255 * Hue_2_RGB(var_1, var_2, H - (1/3));
}
static float Hue_2_RGB(float v1, float v2, float vH)
{
if (vH < 0) { vH += 1; }
if (vH > 1) { vH -= 1; }
if ((6 * vH) < 1) { return (v1 + (v2 - v1) * 6 * vH); }
if ((2 * vH) < 1) {return (v2); }
if ((3 * vH) < 2)
{
return (v1 + (v2 - v1) * ((2/3) - vH) * 6);
return (v1);
}
}
미안 미안하지만이 질문이 단지 laymans 용어로는 100 % 이해하고 싶었을뿐입니다.
감사합니다. RGB에서 HSL로 변환하는 코드도 포함되어 있지 않습니다.
표시하는 코드에 정의되어 있지 않기 때문에 알 수있는 방법이 없습니다. 우리는 다른 값이 무엇인지에 따라 추측 할 수 있지만, 이는 아무런 보장도되지 않습니다. 나는 그들이 아마도 int임을 의미하는 C라고 추정한다. – Rob
아직까지는 아무 것도 할당하지 않았지만 RGB 변환을위한 알고리즘을 찾고 있었고 Var_1과 2를 선언해야하는 문제가있었습니다. 도움이되는지 확실하지 않습니다. – IFKCode
만약 당신이 단지 그것을 시험해보고 그것이 컴파일되는지를 알고 싶다면 나는 int로 만들 것이다. – Rob