0

图片框句柄传递给外部库。

触发指定事件后,在图片框上显示结果图片。

我试图让图片框内容保存到图片,但我发现

   pictureBox.Image = null
   pictureBox.BackgroundImage = null

我怎样才能在这两个旁边的图片框中显示图像?

4

1 回答 1

1

您的外部库正在使用句柄直接绘制到PictureBox控件的窗口中。不幸的是,这实际上不会导致图像的任何类型的永久分配。这严格来说是一次性事件;它不仅不会设置您感兴趣的属性,而且如果由于任何原因需要更新窗口(例如被另一个窗口重叠然后再次暴露),绘制的图像甚至不太可能保留在屏幕上。

如果没有关于外部库的更多详细信息,就不可能提出具体的解决方案。理想情况下,库本身将为它提供一些替代机制来提供您想要的图像。然后,您可以使用该数据来初始化托管Bitmap对象,然后将其分配给您PictureBoxImage. 我想一种技巧是让库绘制到窗口中,然后使用Graphics.CopyFromScreen()直接从屏幕自己的图形缓冲区复制您想要的数据。

于 2015-11-13T06:18:53.027 回答