New to Telerik UI for WPF? Download free 30-day trial

Save Snapshot to File

This article shows how to take and save a snapshot to a file.

Setting up the Control

Add the control to the logical tree of the view and subscribe to the SnapshotTaken event.

Defining RadWebCam

<telerik:RadWebCam x:Name="radWebCam" SnapshotTaken="RadWebCam_SnapshotTaken"/> 
In the event handler you get access to a BitmapSource object holding the snapshot. You can use this to save it to the file system.

Opening a file dialog in the SnapshotTaken event handler and saving it to a file

private void RadWebCam_SnapshotTaken(object sender, RoutedEventArgs e) 
{ 
    var args = (SnapshotTakenEventArgs)e; 
    SaveFileDialog dialog = new SaveFileDialog(); 
    dialog.Filter = "Images|.png;.bmp;*.jpg"; 
    dialog.DefaultExt = ".png"; 
    dialog.FilterIndex = 0; 
    if (dialog.ShowDialog() == true) 
    { 
        using (var fileStream = dialog.OpenFile()) 
        { 
            BitmapEncoder encoder = new PngBitmapEncoder(); 
            encoder.Frames.Add(BitmapFrame.Create(args.Snapshot)); 
            encoder.Save(fileStream); 
        } 
    } 
} 

Taking Snapshot

To take the snapshot press the "Take snapshot" button. Or call the TakeSnapshot method. This will fire the SnapshotTaken event.

By default a preview of the snapshot will be shown that allows you to choose if it should be saved or not. If you choose to save it the SnapshotTaken event will fire. To disable the preview set the IsPreviewingSnapshot property of RadWebCam to False.

Take snapshot button

WPF RadWebCam Take Snapshot Button

Take Snapshot

this.radWebCam.TakeSnapshot(); 

See Also

In this article