【问题标题】:Set C# Picturebox to Bitmap将 C# 图片框设置为位图
【发布时间】:2013-10-24 13:20:18
【问题描述】:

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

Bitmap img=eventArgs.Frame;

我已验证上述行工作正常。 我现在只需要知道如何将表单上的 PictureBox 设置为此位图图像。我尝试了以下方法:

pbImg.Image=img;

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

【问题讨论】:

  • 任何异常抛出?
  • 也许您的位图正在被处理?

标签: c# visual-studio-2010 bitmap bitmapimage


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    相关资源
    最近更新 更多