Я знаю, что это старый вопрос, но у меня есть проблемы с кодирующей byte[]
в растровое изображение ...байт [], чтобы изображение с помощью Xamarin.Android
Справочной информации: Я пишу Andoid- Приложение, которое получает picturebytes via UDP
, кодирует их в растровое изображение и отображает изображение в image view
.
Поскольку мои функции не работали, я отменил UDP-Connection
для тестирования и написал все image-bytes
в огромной переменной. Итак, все они правильны ... Функция возвращает «null». Функция Я использую:
public Bitmap ByteArrayToImage(byte[] imageData)
{
var bmpOutput = BitmapFactory.DecodeByteArray(imageData, 0, imageData.Length);
return bmpOutput;
}
другая функция, которую я опробовал:
public Bitmap ByteArrayToImage2(byte[] imageData)
{
Bitmap bmpReturn;
bmpReturn = (Android.Graphics.Bitmap) Android.Graphics.Bitmap.FromArray<byte>(imageData);
return bmpReturn;
}
Функция я нашел в интернете:
public static Bitmap bytesToUIImage (byte[] bytes)
{
if (bytes == null)
return null;
Bitmap bitmap;
var documentsFolder = Environment.GetFolderPath (Environment.SpecialFolder.Personal);
//Create a folder for the images if not exists
System.IO.Directory.CreateDirectory(System.IO.Path.Combine (documentsFolder, "images"));
string imatge = System.IO.Path.Combine (documents, "images", "image.jpg");
System.IO.File.WriteAllBytes(imatge, bytes.Concat(new Byte[]{(byte)0xD9}).ToArray());
bitmap = BitmapFactory.DecodeFile(imatge);
return bitmap;
}
Большинство, к сожалению, последняя функция Didn «Я тоже работаю, но здесь я действительно признаюсь, что я немного смутился по поводу« документов »в string imatge = System.IO.Path.Combine (documents, "images", "image.jpg");
I g Ot ошибка и изменил его в documentsFolder
, так как я предполагаю, что должно (или может) быть право ....
Заранее спасибо за помощь