Windows Mobile Camera Native API

自从上次在淘宝上淘了一个Cingular 8125(国内是Dopod 838)以来,总想试试一些模拟器上不能玩的功能,相机就是其中之一。在SDK中有3sample,其中两个是基于native code的,还有一个是managed codeManaged code的初始平台是classic上的,我又没有装classicSDK,只装了个professional的,所以就用那两个native code的例子了。

Camera Capture Graph 是基于DirectShow框架的,它可以提供用户极大的可控性和灵活性,具体可以参考MSDN上的ICaptureGraphBuilder2 InterfaceWindows Mobile 5中使用DirectShow控制摄像头-这两篇文章。程序运行的界面如下图1所示:

1Camera Capture Graph运行界面

界面比较简单,我的感受就是运行速度比后面的Camera Capture要快好多,但是拍摄图像的分辨率比较低,不能自己设置。

再讲讲Camera Capture,它调用了SHCameraCapture,在windows mobile SDK 5.0的时候就已经引入了,大家可以参考MSDN上的文章SHCameraCaptureCSDN上的文章mobile上调用SHCameraCapture接口进行拍照SHCameraCapture可以调出照相机进行拍照、摄像,并设置图片或视频文件存放的路径。该程序运行界面如下图2所示:

2Camera Capture运行界面

    这个功能就比Camera Capture Graph丰富多了,提供模式、图像质量和Video类型的选择等等。选择start以后,我们就可以看到传统的相机界面,如下图3所示:

3Windows Mobile上的Camera界面

    用其拍摄的照片或者是视屏,默认是存放于设备的我的图片我的视频这两个目录下,其照片的效果如下图4所示:

4Camera Capture的照片效果

视屏的效果一般,可能是与我这个130万像素的摄像头有关吧。

    今天配合着WM6.0 SDK上的Camera Sample,试玩了一下8125上的摄像头,感觉还是挺有意思的,下次玩玩其他的吧。
posted on 2008-12-19 22:34  施炯  阅读(5428)  评论(14编辑  收藏