LowLagPhotoCapture.FinishAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Libère de façon asynchrone l’objet LowLagPhotoCapture et les ressources utilisées par l’opération de capture de photo.
public:
virtual IAsyncAction ^ FinishAsync() = FinishAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction FinishAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction FinishAsync();
function finishAsync()
Public Function FinishAsync () As IAsyncAction
Retours
Objet utilisé pour contrôler l’opération asynchrone.
- Attributs
Exemples
Voici un exemple qui montre comment configurer et prendre des photos avec un faible décalage. Il affiche la photo et la miniature capturées dans les objets Image . Le CODE XAML crée une interface utilisateur simple avec deux objets Image et des objets Button pour interagir avec l’élément MediaCapture . Dans le code, il existe une méthode pour initialiser l’objet MediaCapture , une méthode pour initialiser l’objet LowLagPhotoCapture , une méthode pour prendre la photo et l’afficher, et une méthode pour arrêter l’objet LowLagPhotoCapture.
<StackPanel Orientation="Horizontal">
<Image x:Name="imageLowLagPhoto" Stretch="None"
Width="320" Height="240" />
<Image x:Name="imageLowLagThumbnail" Stretch="None"
Width="320" Height="240" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Click="InitMediaCapture_Click" Content="Initialize Camera" />
<Button Click="InitLowLagPhotoCapture_Click" Content="Initialize Low Lag Photo Capture"/>
<Button Click="CaptureLagPhotoCapture_Click" Content="Capture Low Lag Photo"/>
<Button Click="CloseLagPhotoCapture_Click" Content="Finish low Lag Capture"/>
</StackPanel>
LowLagPhotoCapture lowLagCaptureMgr = null;
MediaCapture mediaCaptureManager;
async private void InitMediaCapture_Click(object sender, RoutedEventArgs e)
{
mediaCaptureManager = new MediaCapture();
await mediaCaptureManager.InitializeAsync();
}
async private void InitLowLagPhotoCapture_Click(object sender, RoutedEventArgs e)
{
// Enable thumbnail images
mediaCaptureManager.VideoDeviceController.LowLagPhoto.ThumbnailEnabled = true;
mediaCaptureManager.VideoDeviceController.LowLagPhoto.ThumbnailFormat = MediaThumbnailFormat.Bmp;
mediaCaptureManager.VideoDeviceController.LowLagPhoto.DesiredThumbnailSize = 25;
// Image properties
ImageEncodingProperties imgFormat = ImageEncodingProperties.CreateJpeg();
// Create LowLagPhotoCapture object
lowLagCaptureMgr = await mediaCaptureManager.PrepareLowLagPhotoCaptureAsync(imgFormat);
}
async private void CaptureLagPhotoCapture_Click(object sender, RoutedEventArgs e)
{
// Take photo
CapturedPhoto photo = await lowLagCaptureMgr.CaptureAsync();
// Get photo as a BitmapImage
BitmapImage bitmap = new BitmapImage();
await bitmap.SetSourceAsync(photo.Frame);
// Get thumbnail as a BitmapImage
BitmapImage bitmapThumbnail = new BitmapImage();
await bitmapThumbnail.SetSourceAsync(photo.Thumbnail);
// imageLowLagPhoto is a <Image> object defined in XAML
imageLowLagPhoto.Source = bitmap;
// imageLowLagThumbnail is a <Image> object defined in XAML
imageLowLagThumbnail.Source = bitmapThumbnail;
}
async private void CloseLagPhotoCapture_Click(object sender, RoutedEventArgs e)
{
// Release the LowLagPhotoCapture object and resources
await lowLagCaptureMgr.FinishAsync();
}