Desenho de imagens da lista de imagens
Para desenhar uma imagem, use o CImageList::Drawfunção de membro .Você especificará um ponteiro para um objeto de contexto de dispositivo, o índice da imagem para desenhar, o local no contexto de dispositivo no qual desenhar a imagem e um conjunto de sinalizadores para indicar o estilo de desenho.
Quando você especifica o ILD_TRANSPARENT estilo, Desenhar usa um processo de duas etapas para desenhar uma imagem com máscara.Primeiro, ele executa uma lógica- E operação nos bits da imagem e os bits da máscara.E em seguida, realiza uma operação lógica XOR nos resultados da primeira operação e os bits de plano de fundo do contexto de dispositivo de destino.Esse processo cria as áreas transparentes da imagem resultante; ou seja, cada bit na máscara de branco faz com que o bit correspondente na imagem resultante para ser transparente.
Antes de desenhar uma imagem com máscara em um plano de fundo de cor sólida, você deve usar o SetBkColorfunção de membro para conjunto a cor do plano de fundo da lista de imagens para a mesma cor sistema autônomo destino.configuração a cor elimina a necessidade de criar áreas transparente da imagem e permite que Desenhar simplesmente copiar a imagem para o contexto de dispositivo de destino, resultando em um aumento significativo no desempenho.Para desenhar a imagem, especifique o ILD_NORMAL estilo quando você telefonar Desenhar.
Você pode conjunto a cor do plano de fundo para uma lista de imagem com máscara (CImageList) a qualquer momento, de modo que ele desenha corretamente em qualquer plano de fundo sólido.Definir a cor do plano de fundo como CLR_NONE faz com que imagens a ser desenhada, de forma transparente, por padrão. Para recuperar a cor do plano de fundo de uma lista de imagens, use o GetBkColorfunção de membro .
The ILD_BLEND25 e ILD_BLEND50 estilos de pontilhar a imagem com a cor de realce do sistema. Esses estilos são úteis se você usar uma imagem mascarada para representar um objeto que o usuário pode selecionar.Por exemplo, você pode usar o ILD_BLEND50 estilo para desenhar a imagem quando o usuário seleciona-lo.
Uma imagem nonmasked é copiada para o contexto de dispositivo de destino usando o SRCCOPY operação de varredura.As cores da imagem aparecem as mesmas, independentemente da cor do plano de fundo do contexto de dispositivo.Os estilos de desenho especificados em Desenhar também não têm efeito sobre a aparência de uma imagem nonmasked.
Juntamente com a Draw função de membro, outra função, DrawIndirect, estende a capacidade de processar uma imagem.DrawIndirect Obtém, sistema autônomo um parâmetro, um IMAGELISTDRAWPARAMS estrutura.Essa estrutura pode ser usada para personalizar o renderização da imagem corrente, incluindo o uso de códigos de operação (ROP) de varredura.Para obter mais informações sobre códigos de ROP, consulte Códigos de operação de varredura and Bitmaps sistema autônomo pincéis in the Windows SDK.