Самым простым способом преобразования изображения форм Xamarin в UIImage и наоборот было бы преобразование байтов []:
UIImage в байт []:
byte[] byteArray;
using (NSData imageData = originalImage.AsJPEG())
{
byteArray = new Byte[imageData.Length];
System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, byteArray, 0, Convert.ToInt32(imageData.Length));
}
Byte [] в Xamarin.Forms.ImageSource:
var XamImageSource=ImageSource.FromStream(() => new MemoryStream
(byteArray));
Теперь выгода заключается в другом способе Xamarin.Forms Image / ImageSource не предоставляют никаких API для прямого полученияпоток изображения или байт [] из него. (Насколько мне известно)
Таким образом, вы можете использовать FFImageLoading взамен !!
Имеет API для получения RawImage следующим образом:
FFImageLaoding в байт []:
var bytes = await ImageView.GetImageAsJpgAsync(); //png method also available
байт [] вUIImage
var data = NSData.FromArray(byteData);
var uiimage = UIImage.LoadFromData(data);