Partager via


SetDIBits, fonction (wingdi.h)

La fonction SetDIBits définit les pixels dans une bitmap compatible (DDB) à l’aide des données de couleur trouvées dans la DIB spécifiée.

Syntaxe

int SetDIBits(
  [in] HDC              hdc,
  [in] HBITMAP          hbm,
  [in] UINT             start,
  [in] UINT             cLines,
  [in] const VOID       *lpBits,
  [in] const BITMAPINFO *lpbmi,
  [in] UINT             ColorUse
);

Paramètres

[in] hdc

Handle d'un contexte de périphérique.

[in] hbm

Handle de l’image bitmap compatible (DDB) qui doit être modifiée à l’aide des données de couleur de la DIB spécifiée.

[in] start

Ligne d’analyse de départ pour les données de couleur indépendantes de l’appareil dans le tableau vers lequel pointe le paramètre lpvBits .

[in] cLines

Nombre de lignes d’analyse trouvées dans le tableau contenant des données de couleur indépendantes de l’appareil.

[in] lpBits

Pointeur vers les données de couleur DIB, stockées sous la forme d’un tableau d’octets. Le format des valeurs bitmap dépend du membre biBitCount de la structure BITMAPINFO vers laquelle pointe le paramètre lpbmi .

[in] lpbmi

Pointeur vers une structure BITMAPINFO qui contient des informations sur la DIB.

[in] ColorUse

Indique si le membre bmiColors de la structure BITMAPINFO a été fourni et, le cas échéant, si bmiColors contient des valeurs ou des index de palette (RVB) explicites. Le paramètre fuColorUse doit être l’une des valeurs suivantes.

Valeur Signification
DIB_PAL_COLORS
La table de couleurs se compose d’un tableau d’index 16 bits dans la palette logique du contexte d’appareil identifié par le paramètre hdc .
DIB_RGB_COLORS
La table de couleurs est fournie et contient des valeurs RVB littérales.

Valeur retournée

Si la fonction réussit, la valeur de retour correspond au nombre de lignes d’analyse copiées.

Si la fonction échoue, la valeur de retour est égale à zéro.

Il peut s’agir de la valeur suivante.

Code de retour Description
ERROR_INVALID_PARAMETER
Un ou plusieurs paramètres d’entrée ne sont pas valides.

Remarques

Une vitesse de dessin bitmap optimale est obtenue lorsque les bits bitmap sont indexés dans la palette système.

Les applications peuvent récupérer les couleurs et les index de palette système en appelant la fonction GetSystemPaletteEntries . Une fois les couleurs et les index récupérés, l’application peut créer la DIB. Pour plus d’informations, consultez Palette système.

Le contexte de l’appareil identifié par le paramètre hdc est utilisé uniquement si la constante DIB_PAL_COLORS est définie pour le paramètre fuColorUse ; sinon, elle est ignorée.

La bitmap identifiée par le paramètre hbmp ne doit pas être sélectionnée dans un contexte d’appareil lorsque l’application appelle cette fonction.

Les lignes de numérisation doivent être alignées sur un DWORD à l’exception des bitmaps compressées RLE.

L’origine des DIB de bas vers le haut est le coin inférieur gauche de la bitmap ; l’origine des D DIBs du haut vers le bas est le coin supérieur gauche de la bitmap.

ICM: La gestion des couleurs est effectuée si la gestion des couleurs a été activée avec un appel à SetICMMode avec le paramètre iEnableICM défini sur ICM_ON. Si la bitmap spécifiée par lpbmi a un BITMAPV4HEADER qui spécifie les membres gamma et points de terminaison, ou un BITMAPV5HEADER qui spécifie les membres gamma et points de terminaison ou les membres profileData et profileSize, l’appel traite les pixels de la bitmap comme étant exprimés dans l’espace de couleurs décrit par ces membres, plutôt que dans l’espace de couleur source du contexte d’appareil.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

BITMAPINFO

Fonctions bitmap

Vue d’ensemble des bitmaps

GetDIBits

GetSystemPaletteEntries