获取当前显示图片框图像,同时其图像和背景图像为空

时间:2015-11-13 05:28:03

标签: c# winforms picturebox winforms-interop getpicture

图片框句柄将传递到外部库。

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

我试图将图片框内容保存到图片中但我找到了

   pictureBox.Image = null
   pictureBox.BackgroundImage = null

如何在旁边的图片框中显示图像?

1 个答案:

答案 0 :(得分:1)

您的外部库正在使用句柄直接绘制到PictureBox控件的窗口中。不幸的是,这实际上并没有导致任何类型的永久图像分配。这绝对是一次性的活动;它不仅不会设置您感兴趣的属性,如果窗口因任何原因需要更新(例如,被另一个窗口重叠然后再次曝光),绘制的图像甚至不可能保留在屏幕上。

如果没有关于外部库的更多详细信息,则无法提出具体的解决方案。理想情况下,库本身将提供一些替代机制,以便它提供您想要的图像。然后,您可以使用该数据初始化托管的Bitmap对象,然后可以将其作为PictureBox分配给Image。我想一个黑客就是让图书馆进入窗口,然后使用Graphics.CopyFromScreen()直接从屏幕自己的图形缓冲区复制你想要的数据。