这种情况下怎样绘制位图图像呢??????在线等,谢谢
由于采用的是别人的代码
所以现在在绘制位图时遇到了麻烦
读取位图的代码如下:
CFile* m_pcf;//文件变量,用来对文件操作
CFileException m_e;//出错处理
BITMAPFILEHEADER m_bmfh;//BMP文件头变量
BITMAPINFOHEADER m_bmih;//BMP文件信息变量
RGBTRIPLE *m_prgb;//24位真彩色数据格式
CFileDialog fileDialog( TRUE,"*.ICO",NULL,NULL,"文件(*.bmp)|*.bmp;|");
m_pcf->Open(fileDialog.GetPathName(),CFile::modeRead, &m_e/*NULL*/);
m_pcf->SeekToBegin();
m_pcf->Read(&m_bmfh,sizeof(m_bmfh));//读取文件头
m_pcf->Read(&m_bmih,sizeof(m_bmih));//读取文件信息头
TRACE("\n%d\n",m_bmih.biSizeImage);
m_prgb = new RGBTRIPLE[m_bmih.biWidth*m_bmih.biHeight];
m_pcf->SeekToBegin();
m_pcf->Seek(54,CFile::begin);
if (m_pcf->GetLength()>64*1024)
{
m_pcf->ReadHuge(m_prgb,m_bmih.biWidth*m_bmih.biHeight*3);
}
else
{
m_pcf->Read(m_prgb,m_bmih.biWidth*m_bmih.biHeight);
}
m_pcf->Close();//关闭文件
程序采用的是文档视图结构
然后怎样处理才能绘制出位图图像呢(由于对处理速度有要求,不打算采用“打点绘图”的方法)
我的想法是:
能否利用解析位图过程中所得到的数据
BITMAPFILEHEADER m_bmfh;//BMP文件头变量
BITMAPINFOHEADER m_bmih;//BMP文件信息变量
RGBTRIPLE *m_prgb;//24位真彩色数据格式
来对位图进行显示呢?
谢谢