Partager via


Choix et définition d’un format de pixels Best-Match

Cette rubrique explique la procédure de mise en correspondance d’un contexte d’appareil au format pixel.

Pour obtenir la meilleure correspondance d’un contexte d’appareil avec un format de pixels

  1. Spécifiez le format de pixel souhaité dans une structure PIXELFORMATDESCRIPTOR .

  2. Appelez ChoosePixelFormat.

    La fonction ChoosePixelFormat retourne un index de format de pixels, que vous pouvez ensuite passer à SetPixelFormat pour définir la meilleure correspondance de format de pixels comme format de pixel actuel du contexte d’appareil.

L’exemple de code suivant montre comment effectuer les étapes ci-dessus.

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);