Показать изображение из байта [] в монотуше - PullRequest
7 голосов
/ 25 апреля 2011

Я работаю в Monotouch Framework, в котором я должен показать изображение, что у меня есть байт [].

, поэтому я использовал

    Public static Public static UIImage GetImagefromByteArray (byte[] byteArrayIn){
        using (MemoryStream memStream = new MemoryStream ())
        {
            byte[] streamBytes = new byte [byteArrayIn.Length];
            memStream.Read( streamBytes, 0, byteArrayIn.Length);
            NSData data = NSData.FromArray( streamBytes );
            return UIImage.LoadFromData( data );
        }              
    }

, но он всегда возвращает ноль,Я искал его, поэтому узнал, что это ошибка в monotouch. ошибка сообщена ссылка , так что еще можно использовать функцию, чтобы показать изображение.

1 Ответ

29 голосов
/ 25 апреля 2011

Ваш код неверный.Вы читаете из пустого MemoryStream.UIImage.LoadFromData прекрасно работает в MonoTouch 4.0 (и начиная с версии 3.2. *, Насколько я помню).Попробуйте следующий метод, вам не нужен MemoryStream, если у вас уже есть байтовый буфер изображения, например.из FileStream:

public static UIImage GetImagefromByteArray (byte[] imageBuffer)
{
    NSData imageData = NSData.FromArray(imageBuffer);
    return UIImage.LoadFromData(imageData);
}
...