2

私はPictureBox写真と画像を持っていますImagepic.Image = img
そして私は使用して画像にいくつかの長方形を描きます

Graphics g = Grpahics.FromImage(pic.Image);
g.DrawRectangle(...);

しかし、ある時点で、画像から長方形を削除したいのですが、試してみました

pic.Image = getOriginalImage();
pic.Refresh();

しかし、画像は同じままです(長方形はまだ画像の上にあります)方法があることは知っていますが、graphics.Clear(Color)画像全体を単色に置き換えます?
からのみ図面を削除するにはどうすればよいPictureBoxですか?
ありがとう

編集:私はすでに元の画像を保存し、消去するときは元の画像を使用します

4

2 に答える 2

3

元の画像を上書きしています。画像をローカルに保存し、PictureBox.Imageプロパティに複製します。次に、消去したいときに再度クローンを作成します

于 2012-10-01T03:23:20.547 に答える
1

Graphics.DrawImage()を使用して背景画像を再度描画するか、画像をImageプロパティに再度割り当てます。このようにオブジェクトを使用するGraphicsと、に表示される画像に直接書き込むことになりPictureBox、Graphicsオブジェクトと背景画像を使用して書き込まれたものの個別のコピーは保持されません。

于 2012-10-01T03:17:29.423 に答える