2016-10-14 2 views
0

Я хочу получить поток из StreamImageSource. Я снял фотографию с помощью phonecamera и показываю небольшой предварительный просмотр в форме. Поэтому я загружаю поток изображения в ImageSource.Получить поток из источников изображений

Теперь я хочу получить обратно поток ... но с моим подходом я всегда получаю исключение, что «не может получить доступ к закрытому потоку»

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; 

и здесь я получаю исключение, что я не могу читать из замкнутого потока

спасибо, ребята ...

+0

Вы не можете. Вам нужно взять исходное изображение с камеры и сохранить его, чтобы позже вы могли ссылаться на него. – Jason

ответ

0

Как только поток потребляется для отображения предварительного просмотра, он закрывается, и вы больше не можете его использовать.

Что вы можете сделать, как только вы получите Stream из камеры, скопируйте его в MemoryStream и что MemoryStream может использоваться и повторно использоваться по желанию.

Смежные вопросы