0

我有 2 张图片OriginalImageTempImage.

我使用此代码以形式加载图像:

this.DoubleBuffered = true;
Temp= new Bitmap(2, 2);
Original = new Bitmap(2, 2);
Original=Temp;

并更改 Temp 图像(旋转、裁剪等)

重置时,我加载原始图像以加载基本图像,但加载临时图像。

4

1 回答 1

2

问题是这Bitmap是一个类,当你说 时Original = Temp,你是在告诉Original引用与 . 相同的Bitmap实例Temp

Bitmap您为其实例化的会Original丢失并将被垃圾收集,如果您处置其中任何一个,两者都将停止工作。

您在最后一行中寻找的是Bitmap.Clone(),以便您创建 Temp 的副本并将其存储在 Original 中:

    this.DoubleBuffered = true;
    Temp= new Bitmap(2, 2);
    Original = (Bitmap)Temp.Clone();
于 2012-12-29T07:56:27.757 回答