请教一下位图的输出问题,附我自己的程序
我想输出一个图片,其存放路径为G盘下的three.bmp,格式为1033*444象素的,我根据别人的程序自己写了一段:
BYTE bufDIB[40+256*4+1033*444];
BYTE buf1[1033*444];
CFile file;
file.Open(“G:\\three.bmp“, CFile::modeRead);
file.Read( buf1, 1033*444);
file.Close();
int i;
for (i = 0; i < 444; i++)
memcpy(&bufDIB[40+256*4+444*i], &buf1[1033*(444-i-1)], 1033);
LPBITMAPINFOHEADER pbih=(LPBITMAPINFOHEADER)bufDIB;
pbih->biSize = sizeof(BITMAPINFOHEADER);
pbih->biWidth = 1033;
pbih->biHeight = 444;
pbih->biPlanes = 1;
pbih->biBitCount = 8;
pbih->biCompression = 0;
pbih->biSizeImage = 0;
pbih->biXPelsPerMeter = 0;
pbih->biYPelsPerMeter = 0;
pbih->biClrUsed = 256;
pbih->biClrImportant = 0;
LPVOID pBits=bufDIB+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD);
::StretchDIBits(
pDC->m_hDC,
xImage,
yImage,
700,
300,
0,
0,
1033,
444,
pBits,
(LPBITMAPINFO)pbih,
DIB_RGB_COLORS,
SRCCOPY
);
现在的问题是输出了一个灰影,但该出来的图片却没有,请哪位高人指点一下,到底问题出在哪儿了,谢谢了先