2

如何将位图加载到 Xamarin Android Native 上的 ImageViewAsync 中?

4

1 回答 1

2

您可以使用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,你可以看这里,转换bitmapbyte[]

MemoryStream stream = new MemoryStream();
bitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
byte[] bitmapData = stream.ToArray();

我已经在github上发布了我的演示。

于 2018-04-23T10:34:02.110 回答