【发布时间】:2011-01-30 05:52:23
【问题描述】:
我有一个我调用的方法,它从捕获设备返回位图数据。
它以 IntPtr 形式返回指向缓冲区数据的指针,以 int 形式返回缓冲区长度。
我提前知道这个位图是 24bpp 和它的宽度和高度。
问题是缓冲区包含颠倒的位图数据,我需要这些数据的顺序正确(颠倒它)。
我所做的是创建一个 for 循环并使用 CopyMemory,我将此数据的每一行(步幅)从下向上复制到新分配的内存空间。
有什么方法可以比每次收到新帧时创建更多内存更快?由于每个位图都很大,它会使应用程序变得有点慢并消耗更多的内存。
我这样做是因为我使用了另一个分析位图的组件,如果位图倒置,它就无法正常工作。
我正在使用 .net、c# 谢谢!
【问题讨论】:
-
位图如何使用?你把它画到屏幕上?有些 API 可以让您将位图声明为倒置,这样硬件将负责以更快的方式绘制位图。