Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 快速显示图像的最佳方式是什么(C)_C#_Image_Onpaint_Dynamic Data Display - Fatal编程技术网

C# 快速显示图像的最佳方式是什么(C)

C# 快速显示图像的最佳方式是什么(C),c#,image,onpaint,dynamic-data-display,C#,Image,Onpaint,Dynamic Data Display,我正在尝试创建一个应用程序来显示8/16位灰度视频。目前,我从帧创建一个BMP位图作为RGB48,并简单地指定 pictureBox.Image = bmp 这需要创建三个冗余通道,使RGB图像看起来像灰度图像。灰度图像格式似乎不起作用。这种方法适用于我的快速计算机,但较慢的计算机无法跟上。所以,我希望有人能提出一个更好的方法来快速高效地显示图像 在年,我被建议使用onPaint事件而不是picturebox在面板上显示图像。然而,我仍然不知道该怎么做 如果RGB显示为灰度,有没有办法避免为其

我正在尝试创建一个应用程序来显示8/16位灰度视频。目前,我从帧创建一个BMP位图作为RGB48,并简单地指定

pictureBox.Image = bmp
这需要创建三个冗余通道,使RGB图像看起来像灰度图像。灰度图像格式似乎不起作用。这种方法适用于我的快速计算机,但较慢的计算机无法跟上。所以,我希望有人能提出一个更好的方法来快速高效地显示图像

在年,我被建议使用onPaint事件而不是picturebox在面板上显示图像。然而,我仍然不知道该怎么做

如果RGB显示为灰度,有没有办法避免为其创建三色通道? 如果将面板组件放置在当前窗体上,如何创建Onpaint事件以使面板显示图像?
我的程序的一般功能如下:一个线程接收图像数据,另一个线程将这些数据收集到一个更大的字节数组中。一旦较大的数组包含足够的数据以支持一整帧,我就会显示图像

2-您必须创建Panel的子类并覆盖其OnPaint。1-如何获得框架?你在用DirectShow吗?如果是这样的话,您可以对图形应用一个过滤器,该过滤器可以利用GPU将图像转换为灰度。同样,你是如何获得帧的?@Lorek原始像素数据通过USB传输。所以,我拥有数据的起点是我收集数据的全局数组。你能提供一个示例图像吗?您能否提供当前用于将字节转换为位图的代码?你有没有在你的代码上运行一个探查器来查看什么花费了最多的时间?你也可以使用双缓冲技术,将图像加载到另一个图像框中,并在需要时取消隐藏该图像