SAFEARRAY *到QByteArray

时间:2015-11-22 15:59:19

标签: qt com activex variant safearray

我通过类型 VARIANT * var 的c ++ invoke(...)方法得到结果。 var .bmp 图片。

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

如何将它从SAFEARRAY(BYTE)转换为QByteArray?或者如何获得QImage(QPixmap,QBitmap)?由于/.

1 个答案:

答案 0 :(得分: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);