AdvancedPhotoCapture
AdvancedPhotoCapture
AdvancedPhotoCapture
AdvancedPhotoCapture
Class
Definition
Provides methods for capturing photos using system-provided computational photography techniques.
public : sealed class AdvancedPhotoCapture : IAdvancedPhotoCapturepublic sealed class AdvancedPhotoCapture : IAdvancedPhotoCapturePublic NotInheritable Class AdvancedPhotoCapture Implements IAdvancedPhotoCapture// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Remarks
Get an instance of this class by calling MediaCapture.PrepareAdvancedPhotoCaptureAsync.
For how-to guidance for using AdvancedPhotoCapture, see High dynamic range (HDR) and low-light photo capture.
Note
Starting with Windows 10, version 1709, recording video and using AdvancedPhotoCapture concurrently is supported. This is not supported in previous versions. This change means that you can have a prepared LowLagMediaRecording and AdvancedPhotoCapture at the same time. You can start or stop video recording between calls to MediaCapture.PrepareAdvancedPhotoCaptureAsync and AdvancedPhotoCapture.FinishAsync. You can also call AdvancedPhotoCapture.CaptureAsync while video is recording. However, some AdvancedPhotoCapture scenarios, like capturing an HDR photo while recording video would cause some video frames to be altered by the HDR capture, resulting in a negative user experience. For this reason, the list of modes returned by the AdvancedPhotoControl.SupportedModes will be different while video is recording. You should check this value immediately after starting or stopping video recording to ensure that the desired mode is supported in the current video recording state.
Methods
CaptureAsync() CaptureAsync() CaptureAsync() CaptureAsync()
Asynchronously performs an advanced photo capture.
public : IAsyncOperation<AdvancedCapturedPhoto> CaptureAsync()public IAsyncOperation<AdvancedCapturedPhoto> CaptureAsync()Public Function CaptureAsync() As IAsyncOperation( Of AdvancedCapturedPhoto )// You can use this method in JavaScript.
An asynchronous operation that returns an AdvancedCapturedPhoto upon successful completion.
Remarks
MediaCapture.PrepareAdvancedPhotoCaptureAsync must be called before calling CaptureAsync.
Concurrently recording video and photo capture using AdvancedPhotoCapture is not supported.
- See Also
CaptureAsync(Object) CaptureAsync(Object) CaptureAsync(Object) CaptureAsync(Object)
Asynchronously performs an advanced photo capture passing the provided app-defined context object to the result of the operation.
public : IAsyncOperation<AdvancedCapturedPhoto> CaptureAsync(PlatForm::Object context)public IAsyncOperation<AdvancedCapturedPhoto> CaptureAsync(Object context)Public Function CaptureAsync(context As Object) As IAsyncOperation( Of AdvancedCapturedPhoto )// You can use this method in JavaScript.
- context
- PlatForm::Object Object Object Object
An app-defined context object that passes context information to the result of the operation.
An asynchronous operation that returns an AdvancedCapturedPhoto upon successful completion.
Remarks
MediaCapture.PrepareAdvancedPhotoCaptureAsync must be called before calling CaptureAsync.
Concurrently recording video and photo capture using AdvancedPhotoCapture is not supported.
- See Also
FinishAsync() FinishAsync() FinishAsync() FinishAsync()
Asynchronously releases the AdvancedPhotoCapture object and resources used by the advanced photo capture operation.
public : IAsyncAction FinishAsync()public IAsyncAction FinishAsync()Public Function FinishAsync() As IAsyncAction// You can use this method in JavaScript.
An asynchronous action.
Events
AllPhotosCaptured AllPhotosCaptured AllPhotosCaptured AllPhotosCaptured
Occurs when all of the frames required for the advanced photo capture have been captured.
public : event TypedEventHandler AllPhotosCaptured<AdvancedPhotoCapture, object>public event TypedEventHandler AllPhotosCaptured<AdvancedPhotoCapture, object>Public Event AllPhotosCaptured<AdvancedPhotoCapture, object>// You can use this event in JavaScript.
Remarks
An advanced photo capture operation may require that multiple frames be captured and processed to produce the resulting image. This event notifies you when the source frames have been captured, which allows you to initiate another advanced photo capture as soon as the capture device is available, instead of waiting for the call to CaptureAsync to complete, which is raised only after the image processing of the captured frames is finished.
OptionalReferencePhotoCaptured OptionalReferencePhotoCaptured OptionalReferencePhotoCaptured OptionalReferencePhotoCaptured
Raised when a reference photo for the advanced photo operation has been captured, on devices that support this feature.
public : event TypedEventHandler OptionalReferencePhotoCaptured<AdvancedPhotoCapture, OptionalReferencePhotoCapturedEventArgs>public event TypedEventHandler OptionalReferencePhotoCaptured<AdvancedPhotoCapture, OptionalReferencePhotoCapturedEventArgs>Public Event OptionalReferencePhotoCaptured<AdvancedPhotoCapture, OptionalReferencePhotoCapturedEventArgs>// You can use this event in JavaScript.
Remarks
Some devices support returning a reference photo from the capture operation that can be consumed by the calling app before all image frames for the operation have been captured or processed. On devices that do not support returning a reference photo, this event is never raised.