C# 将位图加载到PictureBox控件

C# 将位图加载到PictureBox控件,c#,visual-studio-2010,C#,Visual Studio 2010,出于某种原因,这不起作用。我不知道为什么: objBitmap = new Bitmap(Resource1.im); Stream stream; objBitmap.Save(stream, ImageFormat.Bmp); this.pictureBox2.Image = Image.FromStream(stream); objBitmap.Dispose(); 基本上,我需要在PictureBox

出于某种原因,这不起作用。我不知道为什么:

        objBitmap = new Bitmap(Resource1.im);

        Stream stream;
        objBitmap.Save(stream, ImageFormat.Bmp);

        this.pictureBox2.Image = Image.FromStream(stream);

        objBitmap.Dispose();
基本上,我需要在PictureBox控件中显示图像,但我不确定如何执行该操作。

您可以将其更改为

pictureBox2.Image = Resource1.im;
要回答您的问题,您需要在
变量中放入一个流(可能是
MemoryStream

在将流读回位图之前,还需要“倒带”流。(
stream.Position=0

好吧,它应该在Save()方法上启动,因为流从未初始化过。不知道这样做的意义何在。可能有一个,但它在代码中不可见。正常版本为:

if (this.pictureBox2.Image != null) this.pictureBox2.Dispose();
this.pictureBox2.Image = Properties.Resources.im;

关于Resource1可能是什么,有一些问号。您可以使用Project+属性的“资源”选项卡,然后单击“添加资源”按钮上的箭头,添加现有文件,来运行我的版本。

实际上,我无法这样做,因为我已从资源(Resource1.im)加载了图片但是我已经改变了代码中一些像素的颜色,所以我想把objBitmap位图对象放在PictureBox控件中。Resource1.im是原始图像,我不想显示它。我不知道你在说什么。
Bitmap
子类
image
,所以这很容易让人恼火(不管是什么意思)。
pictureBox2.Image = objBitmap;