UPDATE:ZXing.Mobile - 如何更改相机扫描仪的尺寸?
我试过在一个名为OpenCameraScanner的App.cs方法实现这一点(你会调用这个从要扫描的页面上点击按钮):
App.cs
------------------------------------------------
public static ZXingScannerPage ScanPage;
public static ZXing.Result ScanResult;
public static async void OpenCameraScanner()
{
ScanPage = new ZXingScannerPage(customOverlay: customOverlay);
ScanPage.OnScanResult += (result) =>
{
ScanPage.IsScanning = false;
ScanResult = result;
Device.BeginInvokeOnMainThread(() =>
{
App.CurrentApp.CurrentPage.Navigation.PopModalAsync();
App.CurrentApp.CurrentPage.DisplayAlert("Scanned Barcode", result.Text, "OK");
});
};
var scanPage = new NavigationPage(ScanPage);
await App.CurrentApp.CurrentPage.Navigation.PushModalAsync(ScanPage);
}
但是,当调用此方法时,打开的屏幕为空白,并且无法看到它后面的相机视图。不知道为什么?
我在一家Xamarin.Forms项目中使用ZXing.Mobile(iOS设备现在)用于iPad上的相机扫描功能。
目前,我把它用下面的2行工作的伟大:
var scanner = new ZXing.Mobile.MobileBarcodeScanner();
var result = await scanner.Scan();
然而,当摄像头打开时进行扫描,它占用了整个iPad的屏幕,这是非常大的。
问题:有没有办法调整摄像头覆盖的大小? (所以它不是全屏幕)
我看到scanner.Scan()
方法采用ZXing.Mobile.MobileBarcodeScanningOptions
类型的可选参数选项 - 我试着用,玩左右,但唯一可能的相关选项有一个CameraResolutionSelector
- 但我有很难找到任何相关的文档。
我看到的,所以它看起来像我需要使用自定义覆盖(https://github.com/Redth/ZXing.Net.Mobile/blob/master/readme.md#custom-overlays) – jbyrd
@jbyrd如果您愿意,您可以使用默认的'ZXingDefaultOverlay',如果不匹配你的应用风格,是的,你可以创建一个自定义的风格。 – SushiHangover
虽然我仍然有点困惑,但现在,我所要做的就是调用您在原始帖子中看到的2行。有了这个,我们引入了一个页面(Scan()是否基本打开了一个页面?)。如果我创建了一个自定义页面,那么这两条线怎么适合......或者我需要做一些完全不同的事情? – jbyrd