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;