如何将QR码图像传递给Apple Watch

问题描述 投票:1回答:1

我有一个使用zxing创建的xamarin.forms.image格式的QR码图片。我的要求是在apple watch上显示此二维码。此图像保存为如下所示的全局变量

stackQRCode.Children.Add(zXingBarcodeImageView);
 App.QRCodeImage = zXingBarcodeImageView

我正在尝试使用wcsessionmanager.But在UpdateApplicationContext中,图像没有被发送。有解决方案吗?实现这一目标的最简单方法是什么?先谢谢。

ios xamarin.forms watchkit apple-watch
1个回答
1
投票

将Xamarin表单图像转换为UIImage的最简单方法是反转,也就是byte []转换:

UIImage to Byte []:

byte[] byteArray;

using (NSData imageData = originalImage.AsJPEG())
{
  byteArray = new Byte[imageData.Length];
  System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, byteArray, 0, Convert.ToInt32(imageData.Length));
}

Byte []到Xamarin.Forms.ImageSource:

var XamImageSource=ImageSource.FromStream(() => new MemoryStream
            (byteArray));

现在,捕获是围绕Xamarin.Forms的另一种方式Image / ImageSource不公开任何API直接从它获取图像流或byte []。(在我的知识中)

所以你可以使用FFImageLoading代替!!

其中有一个API来获取RawImage,如下所示

FFImageLaoding到byte []:

var bytes = await ImageView.GetImageAsJpgAsync(); //png method also available

byte []到UIImage

 var data = NSData.FromArray(byteData);
 var uiimage = UIImage.LoadFromData(data);
© www.soinside.com 2019 - 2024. All rights reserved.