我有一个使用zxing创建的xamarin.forms.image格式的QR码图片。我的要求是在apple watch上显示此二维码。此图像保存为如下所示的全局变量
stackQRCode.Children.Add(zXingBarcodeImageView);
App.QRCodeImage = zXingBarcodeImageView
我正在尝试使用wcsessionmanager.But在UpdateApplicationContext中,图像没有被发送。有解决方案吗?实现这一目标的最简单方法是什么?先谢谢。
将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);