我有两个PictureBoxes
我希望在第一个中显示图像,然后在第二个中显示旋转版本。我认为应该工作的代码确实很奇怪,因为图像在PictureBoxes
:
Image im = Image.FromFile(D:\somefolder\picture.jpg");
pictureBox1.Image = im;
Image im_rot = im;
//Image im_rot = Image.FromFile(D:\somefolder\picture.jpg");
im_rot.RotateFlip(RotateFlipType.Rotate270FlipNone);
pictureBox2.Image = im_rot;
如果我用第4行替换第3行,它可以工作,但为什么它不能以其他方式工作?
答案 0 :(得分:3)
当前编写代码的方式,您要为两个变量分配相同的对象。这意味着当你对任何一个进行操作时,它会改变内存中的同一个对象。使用您已注释掉的备用代码,可以创建一个新的,不同的对象,该对象将分配给每个变量。