2016-04-12 2 views
0

かなり難しい質問を要約する... カラー値を2つの色と割合にバインドする方法は?

のは、私は私のXAMLリソース、 StartEndで2つの Colorオブジェクトがあるとしましょう。

は、私はまた、四角形を持っている、と私は彼のFillプロパティは、3つのパラメータかかるだろうコンバータにバインドされたい:2色と、コンバータは、色がされて戻ってくる

0と1の間の数を...それを言うには...それはパラメータとして取得した2つの色の重み付きメジアンです。それは完全な赤、完全な青や値0.75を受信した場合

例えば、それはブルーっぽい紫返します: enter image description here

が、私はそれを行う方法についてのアイデアを下回ります。多分もっと良い方法がありますか?

答えて

1

を。これは、フェージングロジックを提供する必要があります。

private System.Windows.Media.Color GetFadedColor(System.Windows.Media.Color start, System.Windows.Media.Color end, double ratio) 
    { 
     System.Diagnostics.Debug.Assert(ratio >= 0 && ratio <= 1); 
     return System.Windows.Media.Color.FromArgb((byte)(start.A + (ratio * (end.A - start.A))), (byte)(start.R + (ratio * (end.R - start.R))), (byte)(start.G + (ratio * (end.G - start.G))), (byte)(start.B + (ratio * (end.B - start.B)))); 
    } 
関連する問題