2 つの背景画像があります。1 つはぼやけており、もう 1 つは同じ画像ですが、よりカラフルです。デフォルトの背景画像はぼやけたものです。カーソルを移動すると、背景画像をぼやけたものからカラフルなものに変更したいのですが、カーソルの周りの円だけで、カーソルを前方に移動すると、変更された背景はカーソルの周りの円にとどまります先に行きました。(宝くじをコインでスクラッチするときのように) MouseMove イベントを処理し、MouseEventArgs カーソル位置を使用する必要があると思いますが、実行できず、本当に助けが必要です! 前もって感謝します!
1 に答える
1
次のパスをたどってみてください。
Canvas
両方の画像と同じサイズの をページに追加します楕円形のクリッピング パス (
<Ellipse ...>
) を作成し、キャンバス内で画像の外側に配置します。最初に「ぼやけた画像」をキャンバスに配置し(下)、次に「シャープな画像」をキャンバス全体に配置します。
楕円を「シャープな画像」のクリッピング マスクにします (
Image.Clip
またはYourUIElement.Clip
( MSDNの参照) を使用)マウス カーソルで楕円を移動します。コードは次のようになります (注: コードはテストしていません)。
-
imageCanvas.MouseMove += imageCanvas_MouseMove;
private void imageCanvas_MouseMove(object sender, MouseEventArgs e)
{
Point mousePosition = e.GetPosition();
Canvas.SetTop(myEllipse, mousePosition.Y - myEllipse.ActualHeight / 2);
Canvas.SetLeft(myEllipse, mousePosition.X - myEllipse.ActualWidth / 2);
}
これが機能する場合は、MouseEnter
/MouseLeave
などにアニメーションを追加してビジュアル デザインをインクリメントできます。
于 2011-02-27T14:50:46.267 に答える