使用前置摄像头读取 Xamarin iOS ZXing 条码问题 [英] Xamarin iOS ZXing Barcode read using front camera issue
问题描述
我正在尝试使用 Xamarin 和 ZXing 实现条形码扫描应用程序.不幸的是,使用 iPhone 和 iPad 上的前置摄像头进行扫描时效果不佳.任何建议或帮助表示赞赏
I am trying to implement a barcode scanning app using Xamarin and ZXing. Unfortunately scanning is not working well with front camera on iPhone and iPad. Any suggestions or help appreciated
推荐答案
您的 InitializeScanner 方法可以进行如下扫描仪初始化并调用开始扫描,在我的情况下,我希望同时支持条形码和二维码.如果您不想支持它,您可以删除扫描选项 QRCode.当扫描器识别代码并返回唯一字符串时,将回调初始化时提到的回调.扫描仪选项具有属性 UseFrontCameraIfAvailable
Your InitializeScanner method can do scanner initialization as below and invokes start scanning, in my case I wanted to support barcode and QR code both. You can remove scanning option QRCode if you do not want to support it. The callback mentioned while initialization is getting called back when scanner recognizes the code and returns unique string. The scanner option has property UseFrontCameraIfAvailable
var mobileBarcodeScanningOptions= new ZXing.Mobile.MobileBarcodeScanningOptions();
mobileBarcodeScanningOptions.UseFrontCameraIfAvailable = true;
mobileBarcodeScanningOptions.PossibleFormats = new List<ZXing.BarcodeFormat>() {
ZXing.BarcodeFormat.CODE_128,
ZXing.BarcodeFormat.CODE_93,
ZXing.BarcodeFormat.CODE_39,
ZXing.BarcodeFormat.PDF_417,
ZXing.BarcodeFormat.QR_CODE
};
mobileBarcodeScanningOptions.AutoRotate = false;
mobileBarcodeScanningOptions.TryHarder = true;
mobileBarcodeScanningOptions.TryInverted = false;
var scanview = new ZXingScannerView(new CGRect(0, 0, View.Frame.Width, View.Frame.Height)) { }
scanview.AutoFocus();
//code to add your scanview in your main view
scanview.StartScanning(MyScanResultHandler, mobileBarcodeScanningOptions);
//After scanning code, scanner callbacks below method
private void MyScanResultHandler(Result obj)
{
if (obj != null)
{
//obj.Text gives you value of code in string which you can use further in your application
}
}
这篇关于使用前置摄像头读取 Xamarin iOS ZXing 条码问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!