C# Pixelbox在有效位图上显示错误图像

C# Pixelbox在有效位图上显示错误图像,c#,winforms,visual-studio,picturebox,C#,Winforms,Visual Studio,Picturebox,我有一个有线电视。我从web控件(Awesomium)接收像素数据。 我想在图片框中显示bipmap using (System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(viewPortX, viewPortY, System.Drawing.Imaging.PixelFormat.Format32bppArgb)) { BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, b


我有一个有线电视。我从web控件(Awesomium)接收像素数据。 我想在图片框中显示bipmap

using (System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(viewPortX, viewPortY, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
  {
    BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, bmp.PixelFormat);
    BitmapSurface bmpSurface = (BitmapSurface)htmlHolder.Surface;
    bmpSurface.CopyTo(bmpData.Scan0, bmpSurface.RowSpan, 4, false, false);
    bmp.UnlockBits(bmpData);

    bmp.Save("result.jpg", ImageFormat.Jpeg);
    pictureBox.Load(result.jpg);
  }
这个很好用。位图被重新显示。 如果我改变

bmp.Save("result.jpg", ImageFormat.Jpeg);
pictureBox.Load(result.jpg);

然后,eror图像将显示在图片框中。
知道怎么回事吗?
问候

克莱门斯·霍夫曼(Clemens Hoffmann)

因为你在bmp对象加载到picturebox之前就破坏了它。使用语句dispose在其范围内创建的图像

您不能使用
使用
,它将处理位图。
在bmp对象加载到picturebox之前销毁它
几乎不会产生误导,因为
picturebox.Image=bmp加载图像。在加载
之前怎么说
PictureBox.Image
只是对分配给它的
位图的引用。使用
后,该
位图
已被
处理
,而
图片框
无法呈现
已处理
位图,而是呈现红色的
X
,如果这有误导性,我很抱歉。英语不是我的第一语言,请原谅我的语言错误。我希望提问者理解我的答案。
pictureBox.Image = bmp;