dimonovdd / ImageFromXamarinUI

Extension methods for capturing images from UI
MIT License
37 stars 3 forks source link
image screenshot ui xamarin xamarin-forms

ImageFromXamarinUI NuGet Badge NuGet downloads license ImageFromXamarinUI on fuget.org YouTube Video Views

Extension methods for capturing images from UI

header

Available Platforms:

Platform Version
Android MonoAndroid90+
iOS Xamarin.iOS10
.NET Standard 2.0

Getting started

You can just watch the Video that @jfversluis published

This is how you can create a simple command to call CaptureImageAsync method

public ImageSource ResultImageSource { get; set; }

public ICommand CaptureCommand  => new Command<Xamarin.Forms.VisualElement>(OnCapture);

async void OnCapture(Xamarin.Forms.VisualElement element)
{
    try
    {
        var stream = await element.CaptureImageAsync(Color.White);
        ResultImageSource = ImageSource.FromStream(() => stream);
    }
    catch (Exception)
    {
        // Handle exception
    }        
}

You can pass in the calling element when the Command is triggered:

<StackLayout x:Name="rootView">
    <Button Text="Capture"
            Command="{Binding CaptureCommand}"
            CommandParameter="{x:Reference rootView}"/>
</StackLayout>