Zxing.Net限制扫描区域

本文关键字:扫描 区域 Net Zxing | 更新日期: 2023-09-27 18:03:17

我构建了一个UWP XAML控件,它使用zxing.net库(http://zxingnet.codeplex.com/)作为条形码/qrcode扫描仪。这个控件工作得很好,它可以预览设备上的相机,然后捕捉一个帧,让zxing处理它。用户所要做的就是把它放在一个页面上,并告诉它扫描什么类型的条形码。

我只面临一个问题:如何将扫描区域限制在捕获帧的中心?有时图像中有多个条形码,库返回其中一个条形码的结果,但我对帧中间的条形码感兴趣。

这在zxing.net上是可能的吗?如果是,我如何限制扫描区域?

Zxing.Net限制扫描区域

我不知道你在用什么代码。但我可以给一个提示基于我的UWP条码扫描器

在CapturePhotoFromCameraAsync()任务中,你可以找到从相机中获取"截图"帧的代码:

 VideoFrame videoFrame = new VideoFrame(BitmapPixelFormat.Bgra8, (int)_width, (int)_height);
 await mediaCapture.GetPreviewFrameAsync(videoFrame);

你可以得到SoftwareBitmap,然后转换为WritableBitmap。

 SoftwareBitmap sb = videoFrame.SoftwareBitmap;
 WriteableBitmap bitmap = new WriteableBitmap(sb.PixelWidth, sb.PixelHeight);

但是现在有另一个问题如何裁剪WriteableBitmap(你可以在SO或MSDN上找到解决方案-它不短)以及如何转换回SoftwareBitmap