【问题标题】:Xamarin Image data is invalid on a stream copyXamarin 图像数据在流副本上无效
【发布时间】:2018-07-13 20:33:49
【问题描述】:

在第一种情况下,代码可以正常工作。 在第二种情况下,我得到:

ImageLoaderSourceHandler:图像数据无效:Xamarin.Forms.StreamImageSource

所以,案例 A(工作正常):

Stream stream = await DependencyService.Get<IPicturePicker>().GetGalleryStreamAsync();
image.Source = ImageSource.FromStream(() => stream);

案例 B(错误):

MemoryStream memoryStream = new MemoryStream();
Stream stream = await DependencyService.Get<IPicturePicker>().GetGalleryStreamAsync();
stream.CopyTo(memoryStream);
image.Source = ImageSource.FromStream(() => memoryStream);

请帮忙!

【问题讨论】:

    标签: image xamarin stream


    【解决方案1】:

    在最后一行试试这个

     Imgsrc= ImageSource.FromStream(() => new MemoryStream(memorystream));
    

    【讨论】:

      【解决方案2】:

      我相信你的问题源于这条线 stream.CopyTo(memoryStream);

      这条语句的作用是将流读取器指针的'位置'放在图像流的末尾。

      如果您在此 CopyTo 语句后面加上 'stream.Position = 0;'那么我相信一切都会好起来的。

      【讨论】:

        猜你喜欢
        • 2020-02-06
        • 2018-06-17
        • 2017-09-19
        • 1970-01-01
        • 2022-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多