繁体   English   中英

将C#Picturebox设置为位图

[英]Set C# Picturebox to Bitmap

我有一个非常基本的问题。 我有一个类型的变量:位图。 此变量随从网络摄像头接收的每个帧更新。 该变量声明如下:

Bitmap img=eventArgs.Frame;

我已经确认上述行正常运行。 我现在需要知道的是如何将我的表单上的PictureBox设置为此Bitmap图像。 我尝试过以下方法:

pbImg.Image=img;

这不起作用。 任何帮助将不胜感激。

相机生成的位图通常只有很短的使用寿命。 它们仅在事件处理程序运行时有效,摄像头捕获驱动程序用新帧替换位图。 非常重要,以避免过多的内存使用。

因此,您必须制作图像的深层副本,以便它可以在PictureBox中存活,并在事件调用完成后仍然可以绘制。 像这样:

  Bitmap img = new Bitmap(eventArgs.Frame);
  if (pbImg.Image != null) pbImg.Image.Dispose();
  pbImg.Image = img;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM