2010-11-07 79 views
2

由于某些原因,这不起作用。我不知道为什么:将位图加载到PictureBox控件

 objBitmap = new Bitmap(Resource1.im); 

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

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

     objBitmap.Dispose(); 

基本上,我需要在PictureBox控件中显示图像,我不知道该怎么做。

回答

3
pictureBox2.Image = objBitmap; 
+0

'Bitmap'子类'Image',所以这很容易让人觉得(无论这意味着什么)。 – MusiGenesis 2010-11-07 23:27:58

2

您可以更改到

pictureBox2.Image = Resource1.im; 

要回答你的问题,你需要把流(可能是MemoryStream)在stream变量。
您还需要“回放”流,然后再将其读回位图。 (stream.Position = 0

+0

其实我不能这样做,因为我已经加载从资源(Resource1.im)的图片,但我已经改变了在代码中的一些像素的颜色,所以我希望把objBitmap Bitmap对象的图片框里面控制。 Resource1.im是原始图像,我不想说明。 – 2010-11-07 23:17:13

+0

我不知道你在说什么。 – SLaks 2010-11-07 23:40:28

4

那么,它应该去保存()方法kaboom,从未初始化。不知道这是干什么的。可能有一个,但它不是从你的代码中可见的。正常版本是:

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

有一些关于Resource1可能是什么的问号。通过使用Project + Properties,Resource选项卡并单击Add Resource按钮上的箭头,添加现有文件,即可获得我的版本。