xamarin.forms用Zxing 2.4.1开发安卓扫码程序时,我想指定屏幕上的一块为解码区域,以规避对象有多个二维码时目标不明确的问题,ChatGPT上总是提到使用CustomOverlay,于是我调用自己定义的zxingscanview,加上一些boxview,作遮蔽,实质上没用,zxing仍然是全屏解码,他似乎是从摄像头拿数据,而不是从屏幕,最后的结果总是给出屏幕最右下角的一个二维码结果,怎么才能指定扫码区域?
5条回答 默认 最新
语言-逆行者 2023-03-31 13:06关注获得7.50元问题酬金 基于new bing的回答
可能的原因和解决方法有:【1】您没有正确地引用ZXing.Net.Mobile.Forms命名空间,导致VS无法识别CustomOverlay属性。您可以在您的代码文件中添加using ZXing.Net.Mobile.Forms;语句,或者在XAML文件中添加xmlns:zxing="clr-namespace:ZXing.Net.Mobile.Forms;assembly=ZXing.Net.Mobile.Forms"属性。
【2】您没有正确地设置CustomOverlay属性的值,导致VS无法识别您的自定义视图。您需要创建一个继承自View的类,例如ZxingOverlayView,并将其实例赋值给CustomOverlay属性,例如scanner.CustomOverlay = new ZxingOverlayView(this, scanner);。
【3】您没有正确地设置UseCustomOverlay属性的值,导致VS无法启用您的自定义视图。您需要将UseCustomOverlay属性设置为true,例如scanner.UseCustomOverlay = true;。
【4】您可以参考以下链接来了解更多关于Zxing 2.4.1和CustomOverlay的用法和示例:https://stackoverflow.com/questions/57303386/how-to-create-and-implement-a-android-customoverlay-for-zxing-scanner
https://stackoverflow.com/questions/56189090/how-do-i-add-a-custom-overlay-for-zxingscannerview-in-xamarin-forms-using-the-mv
https://github.com/Redth/ZXing.Net.Mobile
https://social.msdn.microsoft.com/Forums/en-US/5792b06f-4672-4f84-94bd-9c14a232b23e/text-overlay-on-full-screen-zxing-barcodescanner?forum=xamarinforms
希望这能帮到您。👍可以的话采纳解决 无用评论 打赏 举报