本文整理汇总了C++中BitmapImage::CreateBitmap方法的典型用法代码示例。如果您正苦于以下问题:C++ BitmapImage::CreateBitmap方法的具体用法?C++ BitmapImage::CreateBitmap怎么用?C++ BitmapImage::CreateBitmap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitmapImage
的用法示例。
在下文中一共展示了BitmapImage::CreateBitmap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GameInit
bool GameInit(HWND hwnd)
{
window_hdc = GetDC(hwnd);
buffer_hdc = CreateCompatibleDC(window_hdc);
ReleaseDC(hwnd, window_hdc);
SetClientSize(hwnd, WINDOW_WIDTH, WINDOW_HEIGHT);
BITMAPINFO bmp_info;
bmp_info.bmiHeader.biSize = sizeof (BITMAPINFOHEADER);//结构体的字节数
bmp_info.bmiHeader.biWidth = WINDOW_WIDTH;//以像素为单位的位图宽
bmp_info.bmiHeader.biHeight =-WINDOW_HEIGHT;//以像素为单位的位图高,若为负,表示以左上角为原点,否则以左下角为原点
bmp_info.bmiHeader.biPlanes = 1;//目标设备的平面数,必须设置为1
bmp_info.bmiHeader.biBitCount = 32; //位图中每个像素的位数
bmp_info.bmiHeader.biCompression = BI_RGB;
bmp_info.bmiHeader.biSizeImage = 0;
bmp_info.bmiHeader.biXPelsPerMeter = 0;
bmp_info.bmiHeader.biYPelsPerMeter = 0;
bmp_info.bmiHeader.biClrUsed = 0;
bmp_info.bmiHeader.biClrImportant = 0;
if (render_context->frame_buffer == nullptr)
{
render_context->InitFrameBuffer();
}
if (now_bitmap == nullptr)
{
now_bitmap = CreateDIBSection(buffer_hdc, &bmp_info, DIB_RGB_COLORS, (void**)&render_context->frame_buffer, NULL, 0);
}
InitSinCosTable();
srand(GetTickCount());
int index;
bitmap24bit.LoadFile("OMPTXT128_24.bmp");
cout << "bitcount" << bitmap24bit.bitmapinfoheader.biBitCount << endl;
cout << bitmap24bit.bitmapinfoheader.biWidth << endl;
cout << bitmap24bit.bitmapinfoheader.biHeight << endl;
cout << "sizeimage" << bitmap24bit.bitmapinfoheader.biSizeImage << endl;
// now extract each 64x64x16 texture from the image
for (int itext = 0; itext < NUM_TEXT; itext++)
{
// create the bitmap
textures[itext].CreateBitmap((WINDOW_WIDTH / 2) - (TEXTSIZE / 2), (WINDOW_HEIGHT / 2) - (TEXTSIZE / 2), TEXTSIZE, TEXTSIZE, 24);
textures[itext].LoadImageBitmap(bitmap24bit, itext % 4, itext / 4, BITMAP_EXTRACT_MODE_CELL);
} // end for
// create temporary working texture (load with first texture to set loaded flags)
temp_text.CreateBitmap((WINDOW_WIDTH / 2) - (TEXTSIZE / 2), (WINDOW_HEIGHT / 2) - (TEXTSIZE / 2), TEXTSIZE, TEXTSIZE, 24);
temp_text.LoadImageBitmap(bitmap24bit, 0, 0, BITMAP_EXTRACT_MODE_CELL);
//bitmap24bit.UnloadFile();
bitmap24bit.LoadFile("LIGHTMAPS128_24.BMP");
for (int itext = 0; itext < NUM_LMAP; itext++)
{
// create the bitmap
lightmaps[itext].CreateBitmap((WINDOW_WIDTH / 2) + 2*(TEXTSIZE / 2), (WINDOW_HEIGHT / 2) - 2*(TEXTSIZE / 2), TEXTSIZE, TEXTSIZE, 24);
lightmaps[itext].LoadImageBitmap(bitmap24bit, itext % 4, itext / 4, BITMAP_EXTRACT_MODE_CELL);
}
//bitmap24bit.UnloadFile();
return true;
}