0

2 つの背景画像があります。1 つはぼやけており、もう 1 つは同じ画像ですが、よりカラフルです。デフォルトの背景画像はぼやけたものです。カーソルを移動すると、背景画像をぼやけたものからカラフルなものに変更したいのですが、カーソルの周りの円だけで、カーソルを前方に移動すると、変更された背景はカーソルの周りの円にとどまります先に行きました。(宝くじをコインでスクラッチするときのように) MouseMove イベントを処理し、MouseEventArgs カーソル位置を使用する必要があると思いますが、実行できず、本当に助けが必要です! 前もって感謝します!

4

1 に答える 1

1

次のパスをたどってみてください。

  1. Canvas両方の画像と同じサイズの をページに追加します

  2. 楕円形のクリッピング パス ( <Ellipse ...>) を作成し、キャンバス内で画像の外側に配置します。

  3. 最初に「ぼやけた画像」をキャンバスに配置し(下)、次に「シャープな画像」をキャンバス全体に配置します。

  4. 楕円を「シャープな画像」のクリッピング マスクにします (Image.ClipまたはYourUIElement.Clip( MSDNの参照) を使用)

  5. マウス カーソルで楕円を移動します。コードは次のようになります (: コードはテストしていません)。

-

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 に答える