Skip to content

Getting Started

Dima edited this page May 11, 2020 · 10 revisions

Xamarin.Forms:

GetEditedImage

public ImageSource Source { get; set; }
public ICommand ButtonCommand => new Command(async () =>
{
    byte[] data = await ImageEditor.Instance.GetEditedImage();
    if (data != null)
        Source = ImageSource.FromStream(() => new MemoryStream(data));
});

SaveImage

Before you can use it, you must grant the application permissions for this instruction

async void SaveImage(byte[] imageData)
{
    bool success = await ImageEditor.Instance.SaveImage(imageData, $"img{DateTime.Now.ToString()}.png");
}

Initialization

BitooBitImageEditor must be initialized on every platform

Android:

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(savedInstanceState);
        BitooBitImageEditor.Droid.Platform.Init(this, savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
        LoadApplication(new App());
    }

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent intent)
    {
        base.OnActivityResult(requestCode, resultCode, intent);
        BitooBitImageEditor.Droid.Platform.OnActivityResult(requestCode, resultCode, intent);
    }

    public override void OnBackPressed()
    {
        if (BitooBitImageEditor.ImageEditor.IsOpened)
            BitooBitImageEditor.Droid.Platform.OnBackPressed();
        else
            base.OnBackPressed();
    }   
  
}

Open the AssemblyInfo.cs file under the Properties folder and add:

[assembly: UsesPermission(Android.Manifest.Permission.Vibrate)]

iOS:

public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
    {
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            BitooBitImageEditor.IOS.Platform.Init();
            global::Xamarin.Forms.Forms.Init();
            LoadApplication(new App());

            return base.FinishedLaunching(app, options);
        }
    }

UWP:

In Universal Windows Platform applications, the Init method that initializes the BitooBitImageEditor is invoked from the App class:
    BitooBitImageEditor.UWP.Platform.Init(this);
    Xamarin.Forms.Forms.Init(e, BitooBitImageEditor.UWP.Platform.GetExtraAssemblies());

    if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
    {
	///
    }
Clone this wiki locally