Pleora SDK конвертировать PvBuffer или PvRawData в QByteArray - PullRequest
0 голосов
/ 14 февраля 2019

Я использую Pleora SDK для захвата изображений с внешней камеры, и я могу успешно записать данные в файлы изображений TIFF на диске.Следующим моим шагом будет изменение хранилища данных на SQLite вместо файлов на диске.

У меня нормально работает указатель PvBuffer * lBuffer.Теперь мне нужно преобразовать эти данные в формат, который я могу использовать для записи в SQLite.Я использую Qt в Linux, поэтому QByteArray будет очень удобен.

Это своего рода конкретный вопрос для pleora sdk и Qt.Я надеюсь, что кто-то имеет опыт работы с этим.

PvRawData * rawData = lBuffer-> GetRawData ();

QByteArray ba;

// Нужно скопировать данные изrawData to ba.

Заранее спасибо.

1 Ответ

0 голосов
/ 15 февраля 2019

Я нашел ответ и хотел опубликовать на случай, если у кого-то еще есть что-то подобное.Я использую метод reintepret_cast.

data = lBuffer->GetDataPointer()
imgSize = lBuffer->GetPayloadSize();
const char *d = reinterpret_cast<char *>(data);
QByteArray ba(d, imgSize);
QSqlQuery q = QSqlQuery( db );
q.prepare("INSERT INTO imgData (image) values (:imageData)");
q.bindValue(":imageData", ba);
if ( !q.exec() )
qDebug() << "Error inserting image into table: " << q.lastError() << endl;
else
qDebug() << "Query executed properly" << endl;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...