Contents

init(rawPixelFormatType:processedFormat:)

Creates a photo settings object for capture in both RAW format and a processed format.

Declaration

convenience init(rawPixelFormatType: OSType, processedFormat: [String : Any]?)

Parameters

  • rawPixelFormatType:

    The Bayer RAW pixel format type to use for capture. This value must be one of the format identifiers listed in the Availablerawphotopixelformattypes 5fatm array of your photo capture output.

  • processedFormat:

    A dictionary of Core Video pixel buffer attributes or AVFoundation video settings constants (see Video Settings).

    To capture a photo in an uncompressed format, such as 420f, 420v, or BGRA, set the key Kcvpixelbufferpixelformattypekey in the format dictionary. The corresponding value must be one of the pixel format identifiers listed in the Availablephotopixelformattypes 6eyb array of your photo capture output.

    To capture a photo in a compressed format, such as JPEG, set the key Avvideocodeckey in the format dictionary. The corresponding value must be one of the codec identifiers listed in the Availablephotocodectypes array of your photo capture output. For a compressed format, you can also specify a compression level with the key Avvideoqualitykey.

Return Value

A new photo settings object.

Discussion

Use this initializer to capture an image in both RAW format and a processed format (such as JPEG). For RAW-only capture, use the init(rawPixelFormatType:) initializer instead.

Requesting both formats adds requirements for other photo settings: see the format property for processed format requirements and the rawPhotoPixelFormatType property for RAW format requirements. The capture output validates these requirements when you call the capturePhoto(with:delegate:) method. If your settings and delegate don’t meet these requirements, that method raises an exception.

See Also

Creating photo settings