www.pudn.com > bmbrsrc > GraphicStuff.c


//Creates a new bitmap to draw to 
void InitGraph () 
{ 
  //Set up bitmap info header for 272x272x24 buffer 
  BitmapInfo.bmiHeader.biSize = sizeof (BITMAPINFOHEADER); 
  BitmapInfo.bmiHeader.biPlanes = 1; 
  BitmapInfo.bmiHeader.biBitCount = 24; 
  BitmapInfo.bmiHeader.biCompression = BI_RGB; 
  BitmapInfo.bmiHeader.biSizeImage = 0; 
  BitmapInfo.bmiHeader.biClrUsed = 0; 
  BitmapInfo.bmiHeader.biClrImportant = 0; 
  BitmapInfo.bmiHeader.biWidth = 272; 
  BitmapInfo.bmiHeader.biHeight = 272; 
  //Create Device Independent Bitmap 
  MainDC = CreateCompatibleDC (NULL); 
  BackDC = CreateCompatibleDC (NULL); 
  MainBitmap = CreateDIBSection (MainDC, &BitmapInfo, DIB_RGB_COLORS, &MainBitmapData, NULL, 0); 
  BackBitmap = CreateDIBSection (BackDC, &BitmapInfo, DIB_RGB_COLORS, &BackBitmapData, NULL, 0); 
  SelectObject (MainDC, MainBitmap); 
  SelectObject (BackDC, BackBitmap); 
  //Create device context for screen 
  ScreenDC = GetDC (WindowHandle); 
} 
 
//Return old bitmap 
void CloseGraph () 
{ 
  DeleteDC (MainDC); 
  DeleteDC (BackDC); 
}