ODBC存取图象,为什么取出来的是数据,不可以显示呢????
ODBC存取图象,为什么取出来的是数据,不可以显示呢???? 问题点数:20、回复次数:6Top
1 楼hisky1983()回复于 2005-08-03 14:07:16 得分 0
upTop
2 楼netgm(问题多多)回复于 2005-08-03 14:19:31 得分 0
所有的所有的一切都是数据...这还没有弄明白啊 都是二进制
你要写个图片显示Top
3 楼jiangsuccess(云)回复于 2005-08-03 14:28:01 得分 0
兄弟给点代码,
我们方可以帮你呀!Top
4 楼hisky1983()回复于 2005-08-03 15:30:26 得分 0
HDIB WINAPI cdib::ReadDIBFile(CString filename)
{
cimage ci;
找到合适记录
ci.Open();
if(ci.IsEOF()) return FALSE;
CMemFile outfile;
LPSTR buffer=NULL;
buffer= (LPSTR)GlobalLock(ci.m_image.m_hData);
outfile.WriteHuge(buffer,ci.m_image.m_dwDataLength);
outfile.SeekToBegin();
GlobalUnlock(ci.m_image.m_hData);
BITMAPFILEHEADER bmfHeader;
DWORD dwBitsSize;
HDIB hDIB=NULL;
LPSTR pDIB;
dwBitsSize = outfile.GetLength();
if (outfile.Read((LPSTR)&bmfHeader, sizeof(bmfHeader))!= sizeof(bmfHeader))
{
return NULL;
}
outfile.SeekToBegin();
hDIB = (HDIB) ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwBitsSize);
if (hDIB == 0)
{
return NULL;
}
pDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
if (outfile.ReadHuge(pDIB, dwBitsSize - sizeof(BITMAPFILEHEADER)) !=
dwBitsSize - sizeof(BITMAPFILEHEADER) )
{
::GlobalUnlock((HGLOBAL) hDIB);
::GlobalFree((HGLOBAL) hDIB);
return NULL;
}
::GlobalUnlock((HGLOBAL) hDIB);
return hDIB;
}
我对返回的hDIB进行文件保存的时候,不是图象文件,只有14字节。原图象有29.1KTop
5 楼hisky1983()回复于 2005-08-03 15:32:09 得分 0
我是用的vc ODBC对数据库server200进行操作的Top
6 楼hisky1983()回复于 2005-08-03 17:13:47 得分 0
UP
Top




