2017-11-09 8 views
0

これは簡単かもしれないし、長い週かもしれないし、私の心は単に答えを出すことができない。いずれにしても、私は答えが不足しています。3つの独立したトラックバーの間の最大値を分割する

私は4色の間の範囲で構成されたカラー配列を持っています。

_sourceLookupColorRange = new Color[128]; 

現在、これらは均等に分割されています。私はユーザーに色範囲との間のより「重み」を設定するスライダをドラッグする能力を与えたい色1と2の間の42刻み、43 2及び3と43との間

Color set1 = Color.Green; 
     Color set3 = Color.Yellow; 
     Color set5 = Color.Orange; 
     Color set6 = Color.Red; 

     //find the interpolated values between the colors 
     var res1 = ColorInterpolator.ReturnColorSet(42, set1, set3, 0); 
     var res2 = ColorInterpolator.ReturnColorSet(43, set3, set5, 0); 
     var res3 = ColorInterpolator.ReturnColorSet(43, set5, set6, 0); 

     //copy the interpolated colors to the main source lookup array 
     Array.Copy(res1, 0, _sourceLookupColorRange, 0, 42); 
     Array.Copy(res2, 0, _sourceLookupColorRange, 42, 43); 
     Array.Copy(res3, 0, _sourceLookupColorRange, 85, 43); 

3〜4。おそらく最初の2つの範囲では20、第3の範囲では68です。 3つのトラックバーを使用してUIで簡単に使用できるようにしたいが、それを動作させる方法や、どのようにして行うべきかのサンプルがある場合は助けが必要です。私は比率を使用して終了

おかげ

+0

WinFormsを使用している場合、** TrackBar **コントロールを検索してください。それを使用する方法のチュートリアルがたくさんあります。スクロールイベントをリッスンし、現在の値を変数に代入するだけです。 – Thowk

+0

https://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c12101/Advanced-TrackBar-Slider-Control-with-MAC-Style-C.htm – numbtongue

答えて

1

。 3つのトラックバーからの色の範囲で割った値の合計は私に比を与えました。次に、各トラックバーの値にこの比率を掛けて、必要な3つのスケールされた結果を得ました。

関連する問題