如何使用FFImageLoading为Xamarin加载本地存储在字节数组中的图像?

时间:2017-05-22 19:38:43

标签: c# xamarin xamarin.android ffimageloading

我需要能够使用FFImageLoading.ImageService将先前从图像解码的字节数组加载到FFImageLoading.Views.ImageViewAsync对象中。方法ImageService.Instance.LoadImage(IImageLoaderTask task)似乎是方法,但我不知道如何设置该接口的对象,我无法找到在源网站上使用此类型对象的任何引用。

如何将byte []加载到ImageViewAsync对象中?

2 个答案:

答案 0 :(得分:1)

由于你已经有一个byte [],你可以使用LoadStream方法。

类似的东西:

ImageService.Instance
            .LoadStream (GetStreamFromImageByte)
            .Into (imageView);

这是进行实际工作的方法。

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;
}

这应该有用。

答案 1 :(得分:1)

就我而言,它就像这样......

Modal.cs

'Content-Type' : 'multipart/form-data;boundary=1034566789', 'Content-Disposition' : 'attachment'

ViewModel.cs

 public class User 
 {
   public byte[] Avatar { get; set; }
 }

View.xaml

public ImageSource Avatar
{
    get  
    {
      return ImageSource.FromStream(()=> 
        {
          return new MemoryStream(this.User.Avatar);
        });
     }
}