QML类型说明-Camera

来源:互联网 发布:淘宝卖东西抽成多少钱 编辑:程序博客网 时间:2024/05/16 17:34

Camera

 

ImportStatement:   import QtMultimedia 5.0

Inherits:      Item

 

Properties

availability: enumeration

cameraState: enumeration

cameraStatus: enumeration

captureMode: enumeration

digitalZoom: real

errorCode :enumeration

errorString: string

lockStatus :enumeration

maximumDigitalZoom: real

maximumOpticalZoom: real

mediaObject: variant

opticalZoom: real

Signals

digitalZoomChanged(zoom)

error(errorCode,errorString)

lockStatusChanged()

manualWhiteBalanceChanged(qreal)

maximumDigitalZoomChanged(zoom)

maximumOpticalZoomChanged(zoom)

opticalZoomChanged(zoom)

stateChanged(state)

whiteBalanceModeChanged(Camera::WhiteBalanceMode)

Methods

searchAndLock()

start()

stop()

unlock()

 

DetailedDescription

Camera是QtMultimedia 5.0模块的一部分。

我们能用Camera从摄像头上捕捉图片和电影。可以操作捕捉和设置参数到图像上。我们能用VideoOutput显示捕捉的画面,需要设置Camera为VideoOutput的源。

示例如下:

importQtQuick 2.0

importQtMultimedia 5.0

 

Item {

    width: 640

    height: 360

 

    Camera {

        id: camera

 

        imageProcessing.whiteBalanceMode:CameraImageProcessing.WhiteBalanceFlash

 

        exposure {

            exposureCompensation: -1.0

            exposureMode:Camera.ExposurePortrait

        }

 

        flash.mode: Camera.FlashRedEyeReduction

 

        imageCapture {

            onImageCaptured: {

                photoPreview.source =preview  // Show the preview in an Image

            }

        }

    }

 

    VideoOutput {

        source: camera

        anchors.fill: parent

        focus : visible // to receive focus andcapture key events when visible

    }

 

    Image {

        id: photoPreview

    }

}

Camera的不同设置和功能栈被分布在Camera的不同子属性中。

属性

描述

imageCapture

捕捉图片的方法和属性。

videoRecording

捕捉电影的方法和属性。

exposure

调整曝光的方法和属性。(光圈、快门速度等)

focus

调整对焦的方法和属性;提供自动对焦的反馈。

flash

控制闪光灯的方法和属性。

imageProcessing

调整图像处理参数的方法和属性。

基本的相机状态管理,错误报告和简单的缩放控制,Camera自身的属性足以支持。另外,我们可以使用mediaObject属性扩展标准的Qt Multimedia相机控制接口。

相机的许多设置值需要一些时间才能有效应用,有些值可能还存在限制,这些都取决于相机的硬件。一些相机可以设置成手动或自动。这些设置属性包含当前设置值。例如,当自动对焦被打开,焦点区域就暴露在焦点属性中。

 

PropertyDocumentation

availability: enumeration

相机的可用性。它是下面值中的一个。

描述

Available

相机可用

Busy

相机属于另一个进程,处于忙状态。

Unavailable

相机不可用(可能没有相机的硬件)

ResourceMissing

相机因为缺少资源,不可用,可稍后在试。

 

cameraState: enumeration

相机的当前状态,可能是下面的属性之一:

描述

UnloadedState

相机的初始状态,相机没有加载。除了捕捉功能,相机的其他功能未知。基本上是上电后的状态,准备开始捕捉需要花费最长的时间。

在这个状态,支持的设置未知。但我们还能为捕捉设置编解码器,分辨率和帧率。

LoadedState

相机被加载并准备配置。在空闲时,我们可以查询相机的功能,设置捕捉的分辨率,编解码器等等。在这个状态,取景器没有被激活。

ActiveState

在这个状态,取景器已经被激活,相机已经为捕捉做好准备。

默认相机状态是ActiveState。

 

cameraStatus: enumeration

相机当前的状况,它是下面的其中一个值:

描述

ActiveStatus

相机已经启动,可以产生数据,取景器显示视频帧。依赖于后端,在ActiveState状态改变相机的设置(诸如捕捉模式,编解码器,分辨率),可能改变cameraStatus 到LoadedStatus和StartingStatus。当设置被应用,相机准备好时,cameraStatus回到ActiveStatus。

StartingStatus

相机开始过渡到Camera.ActiveState。此时相机还没有准备捕捉数据。

StoppingStatus

相机正处于从Camera.ActiveState过渡到Camera.LoadedState或Camera.UnloadedState。

StandbyStatus

相机在一段时间不活动后,进入Camera.LoadedState的节能待机模式的状态。

LoadedStatus

相机被加载,准备被设置。这个状况指明了相机设备被打开,能够查询支持的图片和影片的捕捉设置。(诸如分辨率、帧率、编解码器)

LoadingStatus

相机正处于Camera.UnloadedState到Camera.LoadedState或Camera.ActiveState的过渡中。

UnloadingStatus

相机正处于从Camera.LoadedState或Camera.ActiveState过渡到Camera.UnloadedState中。

UnloadedStatus

相机一开始的状况,相机没有加载。相机支持的功能,包括捕捉设置为未知。

UnavailableStatus

相机或相机后端不可用。

 

captureMode: enumeration

相机的捕捉模式,它是下面的其中一个值:

描述

CaptureViewfinder

相机仅仅设置在取景器显示。

CaptureStillImage

相机捕捉图片。

CaptureVideo

相机捕捉视频。

 

digitalZoom: real

当前的数字变焦。

 

errorCode :enumeration

最后的错误码。

 

errorString: string

最后的错误的详细信息。

 

lockStatus :enumeration

相机针对所有请求的状态。属性是下面的一个值。

描述

Unlocked

应用对相机设置没有兴趣。相机保持同样的参数不变。大家使用共同的焦距,曝光调节,白平衡设置,保证取景器的图像是优质的。

Searching

应用请求设置相机聚焦,曝光和白平衡。searchAndLock()启动,这个状态指明相机正在聚焦或计算曝光和白平衡。

Locked

相机的焦距,曝光和白平衡被锁定。相机准备捕捉数据。应用可以检查曝光参数。锁状态意味着请求的参数将保持不变,除非再次请求更新参数。例如在连续聚焦状态,焦距被锁定。即使实际焦距变化,参数也不改变。

 

maximumDigitalZoom: real

支持的最大数码变焦。如果不支持数码变焦,此属性为1.0。

 

maximumOpticalZoom: real

支持的最大光学变焦,如果不支持光学变焦,此属性为1.0。

 

mediaObject: variant

相机的媒体对象。

 

opticalZoom: real

当前的光学变焦。

 

SignalDocumentation

digitalZoomChanged(zoom)

当数码变焦设置值变化时,发送这个信号。

 

error(errorCode,errorString)

当错误发生,这个信号被发射。errorCode是下面的一个值。错误可利用的描述在errorString中。

描述

NoError

没有错误发生

CameraError

有错误

InvalidRequestError

系统不支持请求的功能

ServiceMissingError

没有相机服务可用

NotSupportedFeatureError

不支持的特征

 

lockStatusChanged()

当锁状态变化时,发送这个信号。这发生在锁(例如自动变焦)完成或失败。

 

manualWhiteBalanceChanged(qreal)

当manualWhiteBalance属性变化时,发送这个信号。

 

maximumDigitalZoomChanged(zoom)

最大数字对焦改变,将发射这个信号。这一般发生在我们在图片和影片之间改变捕捉模式或改变捕捉设置时。

 

maximumOpticalZoomChanged(zoom)

当最大光学对焦发生变化时,发送这个信号。这一般发生在我们在图片和影片之间改变捕捉模式或改变捕捉设置时。

 

opticalZoomChanged(zoom)

当光学对焦发生变化时,发送这个信号。

 

stateChanged(state)

当相机状态发生变化时,发送这个信号。状态变化需要花一些时间,所以这个信号可能在请求发生后的某个时刻抵达。

 

whiteBalanceModeChanged(Camera::WhiteBalanceMode)

当whiteBalanceMode属性发生变化时,发送这个信号。

 

MethodDocumentation

searchAndLock()

开始焦距、曝光和白平衡的计算。这用于相机的焦距按钮被按下或相机的捕捉按钮半按。如果相机支持自动对焦,焦点区域可以通过focus属性获得。

 

start()

启动相机,取景帧可用,图片或电影可以被捕捉。

 

stop()

停止相机,但不处理相机栈

 

unlock()

解锁焦距,曝光和白平衡锁。
0 0
原创粉丝点击