'how to convert an image into base64 in xamarin.android?

I have this code, it works very well in android studio but not in xamarin bitmap.Compress() has different arguments in xamarin and i am confused how to convert image into base64 or binary in xamarin.android?

I am receving an error in the 3rd line:

( bitmap.Compress() has some invalid arguments).

Bitmap bitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.ace1);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100,bao);
byte[] ba = bao.ToByteArray();
string bal = Base64.EncodeToString(ba, Base64.Default);


Solution 1:[1]

This is how I'm getting a Byte[] for my Bitmap object:

Byte[] imageArray = null;
Bitmap selectedProfilePic = this.GetProfilePicBitmap ();

if (selectedProfilePic != null) {
    using (var ms = new System.IO.MemoryStream ()) {
        selectedProfilePic.Compress (Bitmap.CompressFormat.Png, 0, ms);
        imageArray = ms.ToArray ();
    }
}

Hope this helps.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Ahmed Salman Tahir