Android — Как декодировать данные с помощью переполнения стека Zxing

У меня проблемы с использованием исходных текстов C ++ из проекта Zxing.
Я скачал весь проект с https://code.google.com/p/zxing/downloads/list и просто взял файлы cpp (core и cli).

Я просто хочу иметь такой метод:

decode(byte[] dataToDecode, int widthFrame, int heightFrame)

но я действительно не знаю, как это сделать (я новичок в проектах c ++ и Zxing).

Я провел исследование в Интернете и нашел http://wiki.ssrrsummerschool.org/doku.php?id=robocup2012:qrcode-cppexample это было именно то, что мне было нужно.

К сожалению, ядро ​​Zxing изменилось, и теперь у меня есть некоторые проблемы из-за ссылка на массив

Есть ли простой способ декодировать байтовый массив (RGB) и вернуть строку результата?

Помощь была бы очень признательна,

4

Решение

Проблема была решена путем изменения примера класса BufferBitmapSource (http://wiki.ssrrsummerschool.org/doku.php?id=robocup2012:qrcode-cppexample) согласно библиотеке Zxing 2.2.

BufferBitmapSource.hpp:

#include <zxing/LuminanceSource.h>
#include <stdio.h>
#include <stdlib.h>
using namespace zxing;
namespace qrviddec {

class BufferBitmapSource : public LuminanceSource {
private:
ArrayRef<char>* buffer;

public:
BufferBitmapSource(int inWidth, int inHeight, ArrayRef<char> buffer);
~BufferBitmapSource();

ArrayRef<char> getRow(int y, ArrayRef<char> row) const;
ArrayRef<char> getMatrix() const;
};
}

BufferBitmapSource.cpp
Слишком долго, чтобы отправить, но может поделиться для тех, кто спрашивает.

test.cpp (основной)

...
// Convert the buffer to something that the library understands.
ArrayRef<char> data((char*)buffer, width*height);
Ref<LuminanceSource> source (new BufferBitmapSource(width, height, data));
...
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]