Ограничить область сканирования в Zxing.Net

c# xaml uwp zxing

578 просмотра

1 ответ

Я создал элемент управления UWP XAML, который действует как сканер штрих-кода / qrcode с использованием библиотеки zxing.net ( http://zxingnet.codeplex.com/ ). Элемент управления работает нормально, он просматривает камеру на устройстве, а затем захватывает кадр и позволяет zxing обрабатывать его. Все, что нужно сделать пользователю, это разместить его на странице и указать тип сканируемого штрих-кода.

У меня только одна проблема: как я могу ограничить область сканирования центром захваченного кадра? Иногда на изображении несколько штрих-кодов, и библиотека возвращает результат одного из штрих-кодов, но меня интересует штрих-код, который находится в середине кадра.

Это возможно с zxing.net? Если так, как я могу ограничить область сканирования?

Автор: MrCSharp Источник Размещён: 08.11.2019 11:14

Ответы (1)


0 плюса

Я не знаю, какой код вы используете. Но я могу дать подсказку на основе моего сканера штрих-кода UWP

Внутри 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.

Автор: Alexej Sommer Размещён: 22.08.2016 11:29
Вопросы из категории :
32x32