1

我正在使用 C# 进行开发,我想使用相机在我的应用程序中捕获图像。
据我所知,有两种选择:

[DllImport("avicap32.dll", EntryPoint="capCreateCaptureWindowA")]  

并使用此功能将图像捕获到剪贴板,然后我们的应用程序就可以获取图像。

选择2:使用directX抓图,我在codeproject上找到了一些样例工程。
我的问题是:我应该选择什么解决方案?
在做出选择之前我应该​​考虑什么?
请指出正确的方向,谢谢!

4

1 回答 1

-1

我认为使用 DirectX,我们可以对硬件进行更多控制。CPU 使用率通常表示为用于非空闲任务的 CPU 时间的简单百分比。但这有点简化。在任何现代操作系统中,CPU 实际上都在两种截然不同的模式下花费时间:

内核模式 在内核模式下,执行代码可以完全且不受限制地访问底层硬件。它可以执行任何 CPU 指令并引用任何内存地址。内核模式通常保留给操作系统的最低级别、最受信任的功能。内核模式下的崩溃是灾难性的;他们将停止整个 PC。

用户模式 ​​在用户模式下,执行代码无法直接访问硬件或引用内存。在用户模式下运行的代码必须委托给系统 API 来访问硬件或内存。由于这种隔离提供的保护,用户模式下的崩溃总是可以恢复的。在您的计算机上运行的大部分代码都将在用户模式下执行。

于 2010-07-31T02:34:42.190 回答