我有2圖像,OriginalImage
和TempImage
。如何重置圖像的形式
我使用此代碼在形式加載圖片:
this.DoubleBuffered = true;
Temp= new Bitmap(2, 2);
Original = new Bitmap(2, 2);
Original=Temp;
和改變溫度圖像(旋轉,裁剪等)
復位時,我加載原始圖像加載基本圖像中的窗體,但加載Temp圖像。
我有2圖像,OriginalImage
和TempImage
。如何重置圖像的形式
我使用此代碼在形式加載圖片:
this.DoubleBuffered = true;
Temp= new Bitmap(2, 2);
Original = new Bitmap(2, 2);
Original=Temp;
和改變溫度圖像(旋轉,裁剪等)
復位時,我加載原始圖像加載基本圖像中的窗體,但加載Temp圖像。
問題是Bitmap
是一類,而當你說Original = Temp
,你告訴Original
引用同Bitmap
實例作爲Temp
。
您爲Original
實例化的Bitmap
已丟失並且將被垃圾收集,如果您丟棄其中一個,則兩者都將停止工作。
什麼你在最後一行所尋找的是Bitmap.Clone()
,讓您創建臨時的副本,並存儲在原文:
this.DoubleBuffered = true;
Temp= new Bitmap(2, 2);
Original = (Bitmap)Temp.Clone();
原文=(位圖)(Temp.Clone()) – Tilak
好的,趕上,忘了ICloneable不是通用的... –
我沒有一個C#編譯器在這裏,但我認爲您需要通過'Clone'方法或類似的方式將'Temp'複製到'Original',而不是'='。 '='太淺了,所以它們最終只是同一個對象,而不是彼此的副本。 –
幹得好。你有什麼問題? –
我添加了gdi +標記 – K3N