0

我在VARIANT * var类型处通过 c++ invoke(...)方法结果。var.bmp图像。

qDebug() << var.vt; //8209 ~ VT_ARRAY|VT_UI1 ~ SAFEARRAY(BYTE)

如何将其从 SAFEARRAY(BYTE) 转换为 QByteArray?或者如何获取 QImage (QPixmap, QBitmap)?谢谢/。

4

1 回答 1

2

伊戈尔,非常感谢!!!

long iLBound, iUBound;
char * data;
SafeArrayGetLBound(AFingerImage.parray, AFingerImage.parray->cDims, &iLBound);
SafeArrayGetUBound(AFingerImage.parray, AFingerImage.parray->cDims, &iUBound);
SafeArrayAccessData(AFingerImage.parray,(void**)(&data));
long sz = iUBound - iLBound + 1;
QByteArray ba = QByteArray::fromRawData(data,sz);
FPImage.loadFromData(ba);
SafeArrayUnaccessData(AFingerImage.parray);
于 2015-11-23T10:30:44.803 回答