从Imagesource获取流

本文关键字:获取 Imagesource | 更新日期: 2023-09-27 18:13:13

我想从StreamImageSource获得一个流。我用手机相机拍了一张照片,并在表格上展示了一点预览。因此,我在ImageSource中加载图片流。

现在我想要返回流…但是用我的方法我总是得到一个异常"Cannot access a closed Stream"

    private static async Task<Stream> GetStreamFromImageSourceAsync(StreamImageSource imageSource, CancellationToken cancellationToken = default(CancellationToken))
    {
        if (imageSource.Stream != null)
        {
            return await imageSource.Stream(cancellationToken);
        }
        return null;
    }

这是调用者例程

var s = await GetStreamFromImageSourceAsync((StreamImageSource)item.Source);                        
s.Position = 0;

,这里我得到了一个异常,我不能从一个关闭的流

中读取

谢谢你们…

从Imagesource获取流

一旦Stream被用来显示预览,它就会被关闭,你不能再使用它了。

您可以做的是,一旦您从相机获得流,将其复制到MemoryStream中,并且MemoryStream可以随意使用和重用。