2017-12-21 11 views
-1

これは非常にばかげた質問かもしれないが、私の問題を明確にしたい。 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への変換のコードを含んでいません。

+1

あなたが表示するコードで定義されていないため、知る方法がありません。私たちは、他の値が定義されていることに基づいて推測することができますが、それはどちらの保証もありません。私はこれがおそらくintであることを意味するCであると推測します。 – Rob

+0

まだ私は何にも割り当てていませんが、RGBで変換するためのアルゴリズムを見ていました.Var_1と2を宣言する必要がありました。それが役立つかどうかはわかりません。 – IFKCode

+0

もしあなたがただそれを試してコンパイルされているかどうかを知りたいなら、私はそれらをintにします。 – Rob

答えて

0

あなたが表示するコードに定義されていないため、知る方法がありません。私たちは、他の値が定義されていることに基づいて推測することができますが、それはどちらの保証もありません。私はこれがCであると推測し、彼らはおそらくintであることを意味する。

あなたがただそれを試してコンパイルするかどうかを知りたいのであれば、私はそれらをintにします。それがコンパイルされている場合は、アルゴリズムの詳細を掘り下げて、どのようなものがどれだけ進んでいるかを調べることができます。

関連する問題