Take a screenshot of the map.
      
  
    
Use case
GIS users may want to export a screenshot of a map to enable sharing as an image or printing.
How to use the sample
Pan and zoom to find an interesting location, then use the button to take a screenshot. The screenshot will be displayed. Note that there may be a small delay if the map is still rendering when you push the button.
How it works
- Wait for the MapView to finish rendering the Map.
 - Call 
mapView.ExportImageAsync()to get theRuntimeImage, which is a bitmap image. - Use the 
RuntimeImage.ToImageSourceAsyncextension method to get a copy of the image that is compatible with native image display controls. 
Relevant API
- GeoView.DrawStatus
 - GeoView.DrawStatusChanged
 - GeoView.ExportImageAsync
 - RuntimeImage
 - RuntimeImage.ToImageSourceAsync
 
Tags
capture, export, image, print, screen capture, screenshot, share, shot
Sample Code
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="ArcGISRuntime.Samples.TakeScreenshot.TakeScreenshot"
             xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:esriUI="clr-namespace:Esri.ArcGISRuntime.Xamarin.Forms;assembly=Esri.ArcGISRuntime.Xamarin.Forms"
             xmlns:sampleViewer="clr-namespace:Forms.Resources;assembly=ArcGISRuntime">
    <RelativeLayout>
        <esriUI:MapView x:Name="MyMapView"
                        BindingContext="{x:Reference Name=ResponsiveFormContainer}"
                        Style="{StaticResource MapWithFormStyle}" />
        <sampleViewer:ResponsiveFormContainer x:Name="ResponsiveFormContainer">
            <Button x:Name="ScreenshotButton"
                    Clicked="OnTakeScreenshotClicked"
                    Text="Capture" />
        </sampleViewer:ResponsiveFormContainer>
    </RelativeLayout>
</ContentPage>