Compartir a través de


Elegir y establecer un formato de píxel Best-Match

En este tema se explica el procedimiento para hacer coincidir un contexto de dispositivo con un formato de píxel.

Para obtener la mejor coincidencia de un contexto de dispositivo con un formato de píxel

  1. Especifique el formato de píxel deseado en una estructura PIXELFORMATDESCRIPTOR .

  2. Llame a ChoosePixelFormat.

    La función ChoosePixelFormat devuelve un índice de formato de píxel, que luego puede pasar a SetPixelFormat para establecer la mejor coincidencia de formato de píxel como formato de píxel actual del contexto del dispositivo.

En el ejemplo de código siguiente se muestra cómo llevar a cabo los pasos anteriores.

PIXELFORMATDESCRIPTOR pfd = { 
    sizeof(PIXELFORMATDESCRIPTOR),    // size of this pfd  
    1,                                // version number  
    PFD_DRAW_TO_WINDOW |              // support window  
    PFD_SUPPORT_OPENGL |              // support OpenGL  
    PFD_DOUBLEBUFFER,                 // double buffered  
    PFD_TYPE_RGBA,                    // RGBA type  
    24,                               // 24-bit color depth  
    0, 0, 0, 0, 0, 0,                 // color bits ignored  
    0,                                // no alpha buffer  
    0,                                // shift bit ignored  
    0,                                // no accumulation buffer  
    0, 0, 0, 0,                       // accum bits ignored  
    32,                               // 32-bit z-buffer      
    0,                                // no stencil buffer  
    0,                                // no auxiliary buffer  
    PFD_MAIN_PLANE,                   // main layer  
    0,                                // reserved  
    0, 0, 0                           // layer masks ignored  
}; 
HDC  hdc; 
int  iPixelFormat; 
 
// get the device context's best, available pixel format match  
iPixelFormat = ChoosePixelFormat(hdc, &pfd); 
 
// make that match the device context's current pixel format  
SetPixelFormat(hdc, iPixelFormat, &pfd);