使用Camera API

news/2024/5/20 17:38:53

 收藏
Symbian 7.0以上的版本使用CCamera来访问摄像头。
CCamera提供了一个可用于应用程序交互和获取照相机图像的接口。CCamera封装了一系列易于使用的API,同时,它提供了一个MCameraObserver注册到CCamera,通知应用程序各种关键事件。必须实现MCameraObserver的所有纯虚方法供系统在事件产生的时候回调。

要捕捉一幅图像,首先需要创建一个CCamera的实例。调用CCamera::NewL(MCameraObserver&,TInt):
iCamera = CCamera::NewL(aObserver,0);
然后我们需要保留照相机设备:
User::LeaveIfError(iCamera->Reserve());
这个异步函数成功返回的时候系统会调用MCameraObserver::ReserveComplete()方法。下一步我们要通过PowerOn()函数开启它。这也是一个异步方法,当操作完成时,他调用MCameraObserver::ReserveComplete()。
iCamera->PowerOn();
在使用CaptureImage()之前,我们需要指定图像的格式和大小。TCameraInfo::iImageFrameFormatsSupported提供对格式的支持,CCamera::EnumerateCaptureSizes()提供对大小的支持。使用CCamera::PrepareImageCaptureL()来指定图像格式和大小。拍摄照片之前,至少调用一次该函数。
iCamera->PrepareImageCaptureL(CCamera::EFormatFbsBitmapColor4K,1);
然后我们可以照相了。
iCamera->CaptureImage();
当捕捉成功后,将调用MCameraObserver::ImageReady()。应用程序使用完照相机后,应释放照相机。
iCamera->Release();
CCamera还提供了闪光模式、光学和数字变焦、亮度、对比度、曝光等设置功能,依赖于设备的硬件能力。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wistaria2002/archive/2008/07/19/2676548.aspx


http://www.niftyadmin.cn/n/1990987.html

相关文章

Task17——最长回文

题目: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" …

在名字空间中声明类和成员函数

在名字空间中声明类和成员函数赵湘宁 虽然很多程序员都熟悉名字空间的概念,但他们常常都是被动地使用名字空间。也就是说他们使用的是第三方定义的成员(如标准库的类和函数),而不是在名字空间中声明自己的类和函数。本文拟讨论如何…

Symbian CTimer类中继承子类使用说明

收藏 在使用CTimer中时,如果继承子类在启动定时时(如CTimer::After(TTimeIntervalMicroSeconds32 )),必须得先调用CTimer的中CTimer::ConstructL(),方法(此方法应该是对RTimer的一些初始化),再有就是如果CTimer::After(TTimeIntervalMicroSeconds32 aWaitTime)),的aWaitTime时间…

Task18——正则表达式匹配(待更新)

题目: 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符 * 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明: s 可能为空&am…

三个timer相关的类之一

- CTimer 收藏 class CTimer : public CActive; Description: - Base class for a timer active object. - This is an active object that uses the asynchronous services provided by RTimer, to generate events. These events occur either at a specific time specifie…

Task19——相同的树

题目: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1,2,3]输出: true …

C/C++圣战 李维

C/C圣战 李维 Borland C/C的反击 当Microsoft Visual C 1.0 在C/C开发工具市场获得了空前成果的之后,Borland 才从Borland C/C 3.1的胜利梦中惊醒,思考如何面对Visual C的猛烈功势。事实上当时的Borland如果脑袋清醒一点,好好看清当时C/C开发…

深入浅析:面向对象编程四大原则

http://www.csai.cn 作者:佚名 来源:网络 2008年5月5日  进入社区   在面向对象设计中,如何通过很小的设计改变就可以应对设计需求的变化,这是令设计者极为关注的问题。为此不少OO先驱提出了很多有关面向对象的设计原则用于…