有没有办法将UWP WriteableBitmap转换为XamarinForms Image?尝试简单的转换最终导致"无法将类型可写位图隐式转换为 Xamarin Forms Image"。
我之前必须将其转换为 base64 字符串吗?或者你会如何处理?
谢谢
您可以在
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);
});