auxDIBImageLoad() 只能从硬盘中载入bmp,有什么方法可以从纯资源dll中载入bmp到AUX_RGBImageRec吗?我自己尝试写了一段代码,但是失败了,代码如下
AUX_RGBImageRec *LoadBMP(char *Filename)
{
BITMAPINFO BMInfo;
const HDC gldc = wglGetCurrentDC();
AUX_RGBImageRec *TextureImage = new AUX_RGBImageRec;
HINSTANCE hDll;
hDll = LoadLibrary("Resource.dll");
HBITMAP hBitmap = LoadBitmap(hDll, Filename);
BMInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
BMInfo.bmiHeader.biBitCount = 0;
GetDIBits(gldc, (HBITMAP)hBitmap, 0,0, NULL, &BMInfo, DIB_RGB_COLORS);
TextureImage->sizeX = BMInfo.bmiHeader.biWidth;
TextureImage->sizeY = BMInfo.bmiHeader.biHeight;
BMInfo.bmiHeader.biBitCount = 24;
BMInfo.bmiHeader.biCompression = BI_RGB;
const DWORD BitmapLength = TextureImage->sizeX * TextureImage->sizeY * 3;
TextureImage->data = new byte[BitmapLength];
free(hDll);
return TextureImage;
}