如何将位图加载到 Xamarin Android Native 上的 ImageViewAsync 中?
您可以使用 LoadStream 方法,在这里您将看到如何使用此方法:
ImageService.Instance
.LoadStream (GetStreamFromImageByte)
.Into (imageView);
这是GetStreamFromImageByte
:
Task<Stream> GetStreamFromImageByte (CancellationToken ct)
{
//Here you set your bytes[] (image)
byte [] imageInBytes = null;
//Since we need to return a Task<Stream> we will use a TaskCompletionSource>
TaskCompletionSource<Stream> tcs = new TaskCompletionSource<Stream> ();
tcs.TrySetResult (new MemoryStream (imageInBytes));
return tcs.Task;
}
关于imageInBytes
,你可以看这里,将bitmap
转换为byte[]
:
MemoryStream stream = new MemoryStream();
bitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
byte[] bitmapData = stream.ToArray();
我已经在github上发布了我的演示。