已经知道图象数据和图象宽高,如何得到HBITMAP?
dataPtr是数据指针,hDC是打印机dc,我是按照如下方法使用的:
BITMAPINFOHEADER bmih;
bmih.biSize = sizeof(BITMAPINFOHEADER);
bmih.biWidth = nWidth;
bmih.biHeight = -nHeight;
bmih.biPlanes = 1;
bmih.biBitCount = 24;
bmih.biCompression = BI_RGB;
bmih.biSizeImage = 0;
bmih.biXPelsPerMeter= 0;
bmih.biYPelsPerMeter= 0;
bmih.biClrImportant = 0;
bmih.biClrUsed = 0;
HBITMAP hbit = CreateDIBitmap(hDC,&bmih,CBM_INIT,dataPtr,(BITMAPINFO*)&bmih,DIB_RGB_COLORS);
现在的现象是CreateDIBitmap在2000和xp下总能成功,但在98和winme下就不确定,有时候可以成功,有时候就直接死在CreateDIBitmap里面,连返回值也得不到,这个到底是什么原因?我可以用别的函数代替CreateDIBitmap吗?
问题解决了200分,决不食言