大家有没有比较快速加载一副图像并获取其图像数据的方法?该怎么处理

大家有没有比较快速加载一副图像并获取其图像数据的方法?
我用CBitmap类加载图像,
CBitmap   bitmap;
bitmap.LoadBitmap( "c:\\test.bmp ");
BYTE*   pData   =   new   BYTE[dwCount];
bitmap.GetBitmapBits(dwCount,pData);
从而得到数据的指针,
大家还有更快的方法吗

------解决方案--------------------
HANDLE hFile=CreateFile( "test.bmp ",GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING,
FILE_ATTRUBUTE_NORMAL, NULL);

BITMAPFILEHEADER bh;
DWORD dwFileSize;
DWORD dwRead;
LPBYTE pBuffer;

if(INVALID_HANDLE_VALUE!=hFile)
{
dwFileSize=GetFileSize(hFile);
ReadFile(hFile, &bh, sizeof(bh), &dwRead, NULL);
dwFileSize-=dwRead+bh.bfOffBits;

pBuffer=(LPBYTE)LocalAlloc(LMEM_FIXED, dwFileSize);
ReadFile(hFile, pBuffer, dwFileSize, &dwRead, NULL);
CloseHandle(hFile);
}
------解决方案--------------------
代码多少和快慢没有直接关系;如果只是读取数据,用MapFile应该是最快的。
------解决方案--------------------
CBitmap bmp;
CDC memDC;
bmp.LoadBitmap(IDB_BITMAP1);
memDC.CreateCompatibleDC(NULL);
CBitmap* pOldBitmap = memDC.SelectObject(&bmp);

// 得到图片像素的RGB值
COLORREF ref = memDC.GetPixel(10, 10);
------解决方案--------------------
chehw(chehw)已经写的很清楚了,建议先看看bmp文件格式就明白了。
不过如果只是读取图像数据,使用内存映射文件可能会更快些