Condividi tramite


Immagini di disegno da un elenco immagini

Per disegnare un'immagine, utilizzare la funzione membro di CImageList::Draw .Si specificherà un puntatore a un oggetto di contesto di dispositivo, l'indice dell'immagine da disegnare, la posizione nel contesto di dispositivo a cui disegnare l'immagine e un set di flag per indicare lo stile di disegno.

Per specificare lo stile di ILD_TRANSPARENT , Draw utilizza un processo in due fasi per disegnare un'immagine mascherata.Innanzitutto, esegue un oggetto che non sia l'operazione sui bit immagine e sui bit della maschera.Esegue un'operazione di XOR LOGICO nei risultati della prima operazione e dei bit in background del contesto di dispositivo di destinazione.Questo processo comporta aree trasparenti nell'immagine risultante; ovvero ogni bit bianco nella maschera fa sì che il bit corrispondente nell'immagine risultante a essere trasparente.

Prima di disegnare un'immagine mascherata su uno sfondo a tinta unita, è necessario utilizzare la funzione membro di SetBkColor per impostare il colore di sfondo dell'elenco immagini lo stesso colore della destinazione.Impostare il colore evita di dover creare aree trasparenti nell'immagine e consente a Draw per copiare semplicemente l'immagine al contesto di dispositivo di destinazione, con conseguente importante crescita delle prestazioni.Per disegnare l'immagine, specificare lo stile di ILD_NORMAL quando si chiama Draw.

È possibile impostare il colore di sfondo per un elenco di immagini mascherato (CImageList) in qualsiasi momento in modo che disegni correttamente a tutto lo sfondo a tinta unita.Impostare il colore di sfondo a CLR_NONE determina le immagini a essere disegnato transparent per impostazione predefinita.Per recuperare il colore di sfondo di un elenco immagini, utilizzare la funzione membro di GetBkColor .

Gli stili di ILD_BLEND50 e di ILD_BLEND25 retinano l'immagine con il colore evidenziatore di sistema.Questi stili sono utili se si utilizza un'immagine mascherata per rappresentare un oggetto che l'utente può selezionare.Ad esempio, è possibile utilizzare lo stile di ILD_BLEND50 disegnare l'immagine quando l'utente selezionarlo.

Un'immagine nonmasked viene copiata nel contesto di dispositivo di destinazione tramite l'operazione raster di SRCCOPY .I colori dell'immagine hanno lo stesso aspetto indipendentemente dal colore di sfondo del contesto di dispositivo.Gli stili di disegno specificati in Draw inoltre non hanno effetto su di un'immagine nonmasked.

Oltre alla funzione membro di disegno, un'altra funzione, DrawIndirect, estende la possibilità di eseguire il rendering di un'immagine.DrawIndirect accetta, come parametro, una struttura di IMAGELISTDRAWPARAMS .Questa struttura può essere utilizzata per personalizzare il rendering dell'immagine corrente, compresi i codici (ROP) di operazione raster.Per ulteriori informazioni sui codici del dispositivo di sicurezza in caso di capovolgimento, vedere codici di operazione raster e bitmap come pennelli in Windows SDK.

Vedere anche

Riferimenti

Utilizzando CImageList

Concetti

Controlli (MFC)