1

wpf で画像の上に四角形を描画する最良の方法を見つけようとしています。ユーザーがサムネイル画像のどこかをクリックすると、ユーザーがクリックした領域は半透明の長方形でマークされます。かんたんだよ。BitmapImage の上に配置されたキャンバスに、不透明な四角形を追加するだけです。問題は、ユーザーが同じ領域を複数回クリックすると、新しい四角形が前の四角形の上に追加され、半透明のために結合された四角形が暗くなるということです。画像を見てください:

ここに画像の説明を入力

だから、私の質問は次のとおりです。この動作を防ぐには、どのように長方形を描画すればよいですか? ユーザーが領域または重複領域を何回クリックしても、その領域は常に同じ半透明の色になります。

ありがとう

4

1 に答える 1

1

複数の長方形を組み合わせるときに、新しい長方形で前の長方形を消したり、暗くなったりしないようにするかどうかはわかりません。

単一の Rectangle のみを表示する場合

Rectangle毎回新しい要素を作成する代わりに、1 つのRectangle要素のみを使用して (フォームの開始時に定義することもできます)、それを非表示にします。次に、ユーザーがサムネイルをクリックすると、これが表示Rectangleされ、その位置とサイズが適切に設定されます。

複数の長方形を暗くせずに組み合わせたい場合

重なっている四角形の色がどのようにブレンドされるかを制御する方法の 1 つは、 withセットを使用してオブジェクトをPath追加することです。詳細については、この記事をご覧ください: http://mark-dot-net.blogspot.com/2008/05/combining-paths-in-xaml-for-silverlight.htmlRectangleGeometryGeometryGroupFillRule="NonZero"

于 2013-05-23T21:28:35.700 に答える