在Zxing.Net限制扫描区域

时间:2016-08-20 11:23:09

标签: c# xaml uwp zxing

我构建了一个UWP XAML控件,它使用zxing.net库(http://zxingnet.codeplex.com/)充当条形码/ qrcode扫描器。控件工作正常,它预览设备上的摄像头,然后捕获一个框架,并让zxing处理它。用户所要做的就是将其放在页面中并告诉它要扫描的条形码类型。

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

zxing.net可以吗?如果是这样,我该如何限制扫描区域?

1 个答案:

答案 0 :(得分:0)

我不知道你在用什么代码。但我可以根据我的UWP barcode scanner

给出提示

在CapturePhotoFromCameraAsync()任务中,您可以找到采用"截图"来自相机的镜架:

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

你可以将SoftwareBitmap和eben转换为WritableBitmap。

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

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