Partager via


Images de dessin d'une liste d'images

Pour dessiner une image, utilisez la fonction membre de CImageList::Draw .Vous spécifiez un pointeur vers un objet de contexte de périphérique, l'index de l'image à dessiner, l'emplacement dans le contexte de périphérique auquel dessiner l'image, et un jeu de balises pour indiquer le style de dessin.

Lorsque vous spécifiez le style d' ILD_TRANSPARENT , Draw utilise un processus en deux étapes pour dessiner une image masquée.D'abord, il exécute une opération logique AND sur les bits de l'image et les bits du masque.Elle effectue une opération de XOR logique sur les résultats de la première opération et les bits d'arrière-plan du contexte de destination de l'appareil.Ce processus crée des zones transparentes dans l'image résultante ; autrement dit, chaque bit blanc dans le masque rend le bit correspondant dans l'image résultante transparent.

Avant de dessiner une image masquée sur un arrière-plan de couleur unie, vous devez utiliser la fonction membre de SetBkColor pour définir la couleur d'arrière-plan de la liste d'images de la même couleur que la destination.Définir la couleur élimine le besoin de créer des régions transparentes dans l'image et permet à Draw pour copier simplement l'image au contexte de destination du périphérique, ce qui entraînerait une augmentation considérable des performances.Pour dessiner l'image, spécifiez le style d' ILD_NORMAL lorsque vous appelez Draw.

Vous pouvez définir la couleur d'arrière-plan pour une liste d'images masquée (CImageList) à tout moment afin qu'il dessine correctement sur tout arrière-plan uni.Définir la couleur d'arrière-plan à CLR_NONE provoque des images au dessin de façon transparente par défaut.Pour récupérer la couleur d'arrière-plan d'une liste d'images, utilisez la fonction membre de GetBkColor .

Panique de styles d' ILD_BLEND25 et d' ILD_BLEND50 l'image avec la couleur de surbrillance système.Ces styles sont utiles si vous utilisez une image masquée pour représenter un objet que l'utilisateur peut sélectionner.Par exemple, vous pouvez utiliser le style d' ILD_BLEND50 dessiner l'image lorsque l'utilisateur sélectionne le.

Une image nonmasked est copiée dans le contexte de destination de périphérique à l'aide de l'opération raster de SRCCOPY .Les couleurs dans l'image s'affichent le même indépendamment de la couleur d'arrière-plan du contexte de périphérique.Les styles de dessin spécifiés dans Draw n'ont également aucun effet sur l'apparence d'une image nonmasked.

En plus de la fonction membre de Dessin, un autre fonction, DrawIndirect, étend la possibilité d'afficher une image.DrawIndirect prend, comme paramètre, une structure d' IMAGELISTDRAWPARAMS .Cette structure peut être utilisée pour personnaliser le rendu de l'image actuelle, y compris l'utilisation de codes (ROP) d'opération raster.Pour plus d'informations sur les codes de dispositif de protection en cas de renversement, consultez Opcodes raster et le bitmap comme pinceaux dans Kit de développement logiciel Windows.

Voir aussi

Référence

Utiliser CImageList

Concepts

Contrôles (MFC)