CameraCapture

An interface for capturing camera images More...

Properties

Signals

Methods

Detailed Description

This type allows you to capture still images and be notified when they are available or saved to disk. You can adjust the resolution of the captured image and where the saved image should go.

CameraCapture is a child of a Camera (as the imageCapture property) and cannot be created directly.

import QtQuick 2.0
import QtMultimedia 5.0

Item {
    width: 640
    height: 360

    Camera {
        id: camera

        imageCapture {
            onImageCaptured: {
                // Show the preview in an Image
                photoPreview.source = preview
            }
        }
    }

    VideoOutput {
        source: camera
        focus : visible // to receive focus and capture key events when visible
        anchors.fill: parent

        MouseArea {
            anchors.fill: parent;
            onClicked: camera.imageCapture.capture();
        }
    }

    Image {
        id: photoPreview
    }
}

Property Documentation

capturedImagePath : string

This property holds the location of the last captured image.


errorString : string

This property holds the error message related to the last capture.


ready : bool

This property holds a bool value indicating whether the camera is ready to capture photos or not.

It's permissible to call capture() while the camera is active regardless of the ready property value. If camera is not ready to capture image immediately, the capture request is queued with all the related camera settings, and the request will be executed as soon as possible.


resolution : size

This property holds the resolution/size of the image to be captured. If empty, the system chooses the appropriate resolution.


Signal Documentation

onCaptureFailed(requestId, message)

This handler is called when an error occurs during capture with requestId. A descriptive message is available in message.


onImageCaptured(requestId, preview)

This handler is called when an image with requestId has been captured but not yet saved to the filesystem. The preview parameter can be used as the URL supplied to an Image.

See also onImageSaved.


onImageMetadataAvailable(requestId, key, value)

This handler is called when the image with requestId has new metadata available with the key key and value value.

See also onImageCaptured.


onImageSaved(requestId, path)

This handler is called after the image with requestId has been written to the filesystem. The path is a local file path, not a URL.

See also onImageCaptured.


Method Documentation

cancelCapture()

Cancel pending image capture requests.


capture()

Start image capture. The onImageCaptured() and onImageSaved() signals will be emitted when the capture is complete.

The image will be captured to the default system location, typically QStandardPaths::writableLocation(QStandardPaths::PicturesLocation) for still imaged or QStandardPaths::writableLocation(QStandardPaths::MoviesLocation) for video.

Camera saves all the capture parameters like exposure settings or image processing parameters, so changes to camera paramaters after capture() is called do not affect previous capture requests.

CameraCapture::capture returns the capture requestId parameter, used with imageExposed(), imageCaptured(), imageMetadataAvailable() and imageSaved() signals.


captureToLocation(location)

Start image capture to specified location. The onImageCaptured() and onImageSaved() signals will be emitted when the capture is complete.

CameraCapture::captureToLocation returns the capture requestId parameter, used with imageExposed(), imageCaptured(), imageMetadataAvailable() and imageSaved() signals.

If the application is unable to write to the location specified by location the CameraCapture will emit an error. The most likely reasons for the application to be unable to write to a location is that the path is wrong and the location does not exists, or the application does not have write permission for that location.


setMetadata(key, value)

Sets a particular metadata key to value for the subsequent image captures.

See also QMediaMetaData.