私は2つの画像を持っています、OriginalImageそしてTempImage。
このコードを使用して、画像を次の形式でロードします。
this.DoubleBuffered = true;
Temp= new Bitmap(2, 2);
Original = new Bitmap(2, 2);
Original=Temp;
温度画像を変更します(回転、切り抜きなど)
リセット時に、元の画像を読み込んで基本画像をフォームに読み込みますが、一時画像を読み込みます。
問題はそれBitmapがクラスであり、あなたが言うときOriginal = Temp、あなたはOriginalと同じBitmapインスタンスを参照するように言っているということですTemp。
Bitmapインスタンス化したものはOriginal失われ、ガベージコレクションされます。どちらか一方を破棄すると、両方が機能しなくなります。
その最後の行で探しているのはBitmap.Clone()、Tempのコピーを作成し、それをOriginalに保存するためです。
this.DoubleBuffered = true;
Temp= new Bitmap(2, 2);
Original = (Bitmap)Temp.Clone();