-1

私はC#で画像処理に関するプロジェクトを作成しています。フォームにピクチャボックスがあり、画像に適用できるさまざまなオプション(操作)(ぼかし、セピア、コントラストなど)を持つメニューストリップがあります。クロッピング コントロールを実装することを考えていたので、それをメニュー項目として含めました。

私が欲しいのは、メニューストリップからトリミングオプションをクリックするたびに、ピクチャボックスのマウスダウン、マウス移動、およびマウスアップイベントを発生させて、トリミングを実行できるようにすることです。

このリンクのクロッピングのコードは次のとおりです: http://www.codeproject.com/Articles/30725/Cropping-Images

問題は、メニュー項目がクリックされたときにのみクロッピング コントロールを実装する方法です。上記のリンクのコードは、誰かがメニュー項目をクリックしたり、ボタン自体を言ったりするときではなく、ユーザーがピクチャボックスをクリックするたびにトリガーされます。

助けてくれてありがとう....

4

1 に答える 1

-1

クロッピング コードをイベント ハンドラーから抽象化し、画像を含む何らかの画像操作クラスにする必要があります。次に、次のように、mousemove イベントを特定のクロップ呼び出しに接続できます。

public void MouseMoved(object sender, EventArgs e)
{
     SomeImage.Crop(e.X, e.Y);
}

しかし、クリック ハンドラーでトリミングを行う場合、どの座標にトリミングしますか? それを決定し、それをメニュー クリック ハンドラに実装する必要があります。

public void CropMenuClicked(object sender, EventArgs e)
{
    // TODO: determine someX and someY
    SomeImage.Crop(someX, someY);
}
于 2012-05-14T08:58:42.757 に答える