我在Monotouch框架中工作,我必须在其中显示图像,我所拥有的是byte[].
所以我用
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 );
}
}
但它总是返回null,我搜索了它,所以才知道这是monotouch中的一个bug。Bug报告链接,那么我还可以使用什么函数来显示图像
你的代码是错误的。您正在从空的MemoryStream中读取数据。用户界面图像。LoadFromData在MonoTouch 4.0中工作良好(自3.2以来)。(据我所记得的)。尝试下面的方法,你不需要MemoryStream,如果你已经有字节缓冲区的图像,例如。from FileStream:
public static UIImage GetImagefromByteArray (byte[] imageBuffer)
{
NSData imageData = NSData.FromArray(imageBuffer);
return UIImage.LoadFromData(imageData);
}