【发布时间】:2012-06-17 08:16:48
【问题描述】:
我正在使用 OpenNI 开发深度处理(Xbox Kinect、Asus Xtion 等)应用程序。
当传感器提供新的深度数据(30 或 60 fps 取决于分辨率)时,我需要一种非常简单且快速的方式在 Windows 窗体上绘图。
目前,当数据可用时,我正在从单独的线程中使双缓冲面板无效,然后在面板的绘制方法中设置位图的像素,从而产生可预见的糟糕的 5fps。
System.Drawing.Graphics 似乎缺乏设置单个像素的快速方法,除非任何人另有指示。
我实际上只需要设置像素颜色,因此希望尽可能避免使用第三方高速渲染 API,最好使用尽可能原生的东西。
有人有什么建议吗?
【问题讨论】:
-
您目前如何设置像素?
-
使用 image.SetPixel(x, y, colour) 创建了一个位图。毕竟,调用 graphics.drawImage(image, etc)
-
SetPixel非常慢。看看Scanline方法。
标签: c# graphics drawing rendering kinect