2017-10-23 1 views
0

으로 변환하면 UWP WriteableBitmap을 XamarinForms 이미지로 변환 할 수 있습니까? 간단한 변환을 시도하면 "WriteableBitmap 유형을 Xamarin Forms 이미지로 암시 적으로 변환 할 수 없습니다"라는 메시지가 나타납니다.UWP WriteableBitmap을 XamarinForms 이미지

이전에 base64 문자열로 변환해야합니까? 아니면 어떻게 처리할까요?

감사

답변

0

당신은 Xamarin.Forms.ImageSource에서 FromStream 방법을 찾을 수 있습니다. 요구 사항에 따라 DependencyService을 통해 WriteableBitmap 양식 uwp 프로젝트의 스트림을 가져올 수 있습니다. PCL의 ImageSource으로 변환하십시오.

예 :

인터페이스

public interface IStreamToImage 
{ 
    Task GetStreamFormUWP(Action<Stream> StreamBlock); 
} 

구현

public async Task GetStreamFormUWP(Action<Stream> StreamBlock) 
{ 
    await Window.Current.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { 

     ....... 

     using (Stream stream = MyBitmap.PixelBuffer.AsStream()){ 
     await stream.WriteAsync(sourcePixels, 0, sourcePixels.Length); 
     StreamBlock(stream); 
    } 
}); 
} 

사용

await DependencyService.Get<IStreamToImage>().GetStreamFormUWP((stream) => 
{   
    image.Source = ImageSource.FromStream(() => stream); 
}); 
+0

감사합니다. Nico, 사실 저는 비슷한 것을 시도하고있었습니다. 'Stream str = bm.PixelBuffer.AsStream(); var ms = 새 MemoryStream(); str.CopyTo (ms); '그리고 나서 :'Xamarin.Forms.ImageSource.FromStream (ms); 'Xamarin Forms 이미지는 항상 비어 있습니다. – flix

+0

@fix 나는 위의 대답과 비슷한 문제가있다. 그리고 Nico는 soure'PropertyChanged'가 set 값일 때 호출되지 않았다고 말했다. 버그 일 수 있습니다. – CoCaIceDew

+0

이 해결 방법을 찾았습니까? – flix

관련 문제