Salut à tous,
Je vais essayé de faire court :)
Voila j'ai une base de données Access avec une table à l'interieur du dedans...Dans ma table j'ai un champ qui contient une image Bitmap sous forme d'objet OLE... J'aimerais bêtement la recuperer pour la sauvegarder, voici mon code :
m_Db.Open("c:\\madatabase.mdb"); m_pImage = new CDaoRecordset(&m_Db); CDaoTableDef TableDef(&m_Db); TableDef.Open("table"); m_pImage->Open(&TableDef); COleVariant test = m_pImagette->GetFieldValue("imagette"); int length = test.parray->rgsabound[0].cElements; BYTE* pBuf = new BYTE[length]; void * pArrayData; //safe pointer SafeArrayAccessData(test.parray,&pArrayData); //Copy bitmap memcpy(pBuf, pArrayData,length ); //Unlock variant SafeArrayUnaccessData(test.parray); CFile bitmap; bitmap.Open("c:\\imaaaaaaaaage.bmp",CFile::modeCreate | CFile::modeWrite | CFile::typeBinary); bitmap.Write(pBuf,length); bitmap.Close();
|
je recupere donc un fichier de la bonne taille a la racine de C mais y a une entete bizar dedans avant l'entete du bmp ... Et la je trouve nul part le format de ce truc !!
Quelqu'un a une idée ??
LoizO