将UWP WriteableBitmap转换为XamarinForms图像 [英] Convert UWP WriteableBitmap to XamarinForms Image
问题描述
是否可以将UWP WriteableBitmap转换为XamarinForms图像?尝试进行简单转换最终会导致无法将类型WriteableBitmap类型隐式转换为Xamarin Forms Image".
is there a way to convert a UWP WriteableBitmap to a XamarinForms Image? Trying a simple convert ends up with "cannot implicitly convert type WriteableBitmap to Xamarin Forms Image".
我是否必须先将其转换为base64字符串?还是您将如何处理?
Do I have to convert it before to a base64 string? Or how would you handle that?
谢谢
推荐答案
您可以找到 DependencyService
.并将其转换为PCL中的ImageSource
.
You could find FromStream
method in the Xamarin.Forms.ImageSource
. For your requirement, you could get stream of WriteableBitmap
form uwp project via DependencyService
. And converter it to ImageSource
in the PCL.
示例:
界面
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);
});
这篇关于将UWP WriteableBitmap转换为XamarinForms图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!