私は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();