DPFPApi 如何在 qt5 中将 data_blob 转换为 qpixmap

Posted

技术标签:

【中文标题】DPFPApi 如何在 qt5 中将 data_blob 转换为 qpixmap【英文标题】:DPFPApi how to convert data_blob to qpixmap in qt5 【发布时间】:2014-03-20 22:08:35 【问题描述】:

我目前正在将 DigitalPersona U.are.U 集成到 Qt 应用程序中。我已经能够从 DPFPApi 获得图像 DATA_BLOB。我现在唯一的问题是通过将 pixmap 设置为 QLabel 来预览图像。我试过使用

QPixmap pix(QByteArray((const char*)imgBlob->pbData, imgBlob->cbData));

但返回一个空像素图。我怎样才能做到这一点?

【问题讨论】:

图像块的格式是什么? PNG? JPEG? BMP? 我猜是BMP格式 这是从指纹扫描仪获得的图像。我不太确定格式 您可以将图像数据转储到文件中并尝试不同的扩展名,直到其中一个可以使用,然后使用适当的 QPixamp 函数来加载该格式。 【参考方案1】:

如果图像是位图,请使用QBitmap::fromData 函数创建QPixmap。它记录在here。

或者使用QPixmap::loadFromData让Qt尝试根据图片头信息检测数据格式。

【讨论】:

我尝试使用QBitmap::fromData 函数创建QPixmap。它显示了一些类似于黑莓二维码的 jagonz。然后我尝试使用QPixmap::loadFromData,但它返回一个空像素图 你能分享一下数据块,让我试试看(如果你不介意分享你的指纹)? 使用qDebug()<< imgBlob我得到0x2377fa0 抱歉,我无法访问您的指针。从数据中创建QByteArray,然后创建qDebug() << byteArray.toHex() 奇怪。好吧,如果你能找到将数据保存到文件并与我分享的方法,我会看看。

以上是关于DPFPApi 如何在 qt5 中将 data_blob 转换为 qpixmap的主要内容,如果未能解决你的问题,请参考以下文章

在 Qt5 中将布局移动到另一个布局

我在这个项目中将 QT5 克隆放在哪里

在 QT5 中将信号连接到 c++11 lambda

如何在QDialogBu ttonBox中将图标设置为新按钮?

在同一进程中将 matplotlib 与 Qt5 后端一起使用并运行现有 QApplication

OSX 10.6 上的 Qt5