1

いくつかのステータス項目に基づいて色を決定するコンバーターがあります。色や不透明度などを微調整するつもりでしたが、まず色を合わせることができません。

質問: 以下の 2 行のコードの結果が同等でないのはなぜですか? 例としてグリーンを使用します。最初のものを実行すると、通常の無地の緑が生成され、2番目のものは明確な不透明/シースルーの明るい緑になります:

return new SolidColorBrush(Colors.Green); 

return new SolidColorBrush{Color = new Color{A = 100, B = 0, G = 128, R = 0}};

テストとして、Blend で Rectangle を作成し、緑で塗りつぶすと、次のようになります。

<Rectangle Fill="Green" 

R は 0、G は 128、B は 0、A は 100% です。

4

2 に答える 2

2

Aパーセンテージではなく、 、 、RなどGのバイト値Bです。255100% の不透明度を指定する必要があります。

于 2013-08-26T15:28:03.750 に答える
2

答えは、アルファ チャネルの入力パラメータがパーセントではないということです。次のように、最大​​値を 255 に設定する必要があります。

return new SolidColorBrush{Color = new Color{A = 255, B = 0, G = 255, R = 0}};
于 2013-08-26T15:29:20.407 に答える