2008-10-31 65 views
2

我知道如何使用SHCameraCapture在Windows Mobile 5.0/6上捕捉摄像头拍摄。但是有更广泛的东西可以让我更好地控制吗?即为了获得可用的缩放级别并以编程方式设置缩放级别,例如不同的ISO模式/光线敏感度和宏模式的设置(如果可用)。 (即类似于JSR 234提供的)。Windows Mobile上的扩展摄像头控制

我的项目可能要用C++编写。

更新:它应该在所有可用的WM 5.0和6设备上运行。我正在寻找一种通用解决方案,它不是特定于某个特定模型的解决方案。

回答

1

对于ISO模式,光线灵敏度和其他高级控制等,它通常是我看过的所有设备的特定设备。我知道不同的制造商会通过他们的SDK公开他们的图像库。你使用什么样的移动设备?请向制造商咨询通过SDK公开的API。

对于简单的东西你可能已经有一个看下面的类:

CameraCaptureDialog Class

而且对于像图像质量这一个:

CameraCaptureStillQuality Enumeration

**注:这些是针对Windows Mobile 6的。

+0

这应该在所有可用的WM 5.0和6设备上运行。我正在寻找一种通用解决方案,它不是特定于某个特定模型的解决方案。我查看了提供的链接,这些基本上都是封装到.NET中的SHCameraCapture功能(我不想使用它)。 – Steven 2008-10-31 14:58:48

0

我修改并使用了链接的示例中的代码(代码基本上包装了DirectShow)。它不会让你控制你想要控制的相机的各个方面(变焦,感光度等)。如果相机甚至具有这些功能并且所有功能都暴露出来,那么它只能通过它们的API进行使用,因此是特定于设备的。

您可以使用代码以编程方式设置分辨率(尽管这很棘手)并启动相机,然后将图片作为位图获取,然后您可以随意进行任何操作,以便您可以实现自己的缩放功能,滤色镜等。顺便说一句,如果你成功地做到了这一点,我认为你最终会得到一个商业上可行的产品,因为在Windows Mobile世界中绝对没有这样做(希望我被另一个答案证明是错误的)。

我也从该代码中了解到,为什么(便宜的)数码相机在使用屏幕作为取景器时总是会拍照(这就是为什么你的照片从未如你所愿的那样)以及为什么这是一个根本性的不可修复的问题(至少在便宜的数码相机中)。