0

System.Drawing.Graphics graphicsObjでオブジェクトを描画するために使用していますSystem.Windows.Forms.Panel。古い図面に関する情報を保存するための賢明な方法は何ですか? MouseMove イベント中に最後の描画を削除するには?

ペンの設定とコードを覚えておく必要がありますか?

ありがとう :)

// 編集。私の質問は明確ではないと思います。私はパネルを持っています。絵を描くための入れ物のように扱っています。

複数の線、円、長方形を描くことができます。

マウス (MouseDown) を押すたびに、新しいオブジェクトの描画を開始したいと考えています。マウスを動かすと (MouseMove)、現在描画されているオブジェクトを変更する必要があります (たとえば、ペイントのような線)。マウスを離すと(MouseUp)、描画したオブジェクトが一定になりたいです。

ここで、MouseMove イベントでメソッドを呼び出そうとしましgraphicsObj.Clear();たが、描画されたすべてのオブジェクトがクリアされます。

だから私は、古い描画オブジェクトに関する情報を保存する必要があると推測しました。そして今、リスト(ベクトルなど)を作成し、そのオブジェクトに関する情報を保存する必要がありますか? または回避する方法はありますか?

4

3 に答える 3

0

ここであなたが何をしているのかわかりませんが、ペイントが描いたものについて何らかの記憶が必要な場合は。ビットマップのコレクションに描画してから、ペイントルーチンにビットマップの1つをコントロールに描画させます。

于 2012-11-26T18:16:11.920 に答える
0

最後の x、y を Points オブジェクトの配列に履歴として保存できると思います。

于 2012-11-26T18:13:48.797 に答える