使用Camera API

news/2023/12/1 8:57:29

 收藏
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先驱提出了很多有关面向对象的设计原则用于…

Task20——对称二叉树

题目: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1/ \2 2/ \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1/ \2 2\ \3 3说明: 如果你可以运用递归和迭代两种方…

Task21——二叉树的最大深度

题目: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 …

简单而复杂的smarty循环问题

简单而复杂的smarty循环问题 问:$mySmarty->assign(sCount, 20); $mySmarty->display(xxx.tpl); 我想要的很简单&#xff0c;就是能在xxx.tpl中循环$sCount变量&#xff0c;就像类似于下面的PHP循环形式&#xff1a; for ($i 0; $i < $sCount; $i) { ...... } 每个语…

系统API RFile::Seek的BUG

TInt RFile::Seek(TSeek aMode,TInt& aPos) const函数&#xff0c;当输入参数aPos超过文件范围时&#xff0c;函数不会返回错误值。我在CFileSource类里面实现了这样一个函数 TInt CFileSource::DoSeek(TInt aPos) { TInt err iRFile.Seek(ESeekStart, aPos); …

Task22——二叉树的中序遍历

题目&#xff1a; 给定一个二叉树&#xff0c;返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单&#xff0c;你可以通过迭代算法完成吗&#xff1f; 解题&#xff1a; 递归算法 /*** Definition for a …

Symbian源代码还原——void CCoeControl::ActivateL(void)

收藏 转自&#xff1a;http://dev.chinamobile.com/cmdn/bbs/viewthread.php?tid2177&pid10870&page1&extrapage%3D1#pid10870 ActivateL是个好东西&#xff0c;好多人都想知道其内部实现&#xff0c;可惜苦于没有源代码。现在我把逆向代码贴出来&#xff0c;让大…

Task23——不同的二叉搜索树 II(带更新)

题目&#xff1a; 给定一个整数 n&#xff0c;生成所有由 1 ... n 为节点所组成的二叉搜索树。 示例: 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] 解释: 以上的输出对应以下 5 种不同结构的二叉搜索树&#x…
最新文章