繪製影像的影像清單
若要繪製影像,請使用 CImageList::Draw 成員函式。 您將要指定變數的指標,裝置內容物件,若要繪製的方式,在該處描繪影像的裝置內容中的位置影像的索引和一組旗標來指示繪製的樣式。
當您指定ILD_TRANSPARENT樣式, 繪製會使用兩個步驟來繪製遮罩的影像。 首先,它會執行邏輯層和影像的位元的位元和遮罩的作業。 然後它會執行第一個作業的結果與目標裝置內容的背景位元邏輯 XOR 運算。 這項程序會建立透明區域中所產生的影像。 也就是遮罩中的每一個白色位元會導致對應的位元中所產生的影像,使它變為透明。
之前在單色背景上繪圖遮罩的影像,請務必小心, SetBkColor 成員函式,將影像清單的背景色彩設為相同的色彩作為移動目的。 設定顏色就不需要建立映像中的透明區域,並讓繪製 ,只需要將影像複製到目的裝置内,因而大幅增加效能。 若要繪製影像,請指定ILD_NORMAL樣式,當您呼叫繪製。
您可以設定遮罩的影像清單的背景色彩 (CImageList) 在任何時間,因此它會正確地繪製單純的背景上。 將背景色彩設為CLR_NONE會使預設情況下無障礙地繪製的影像。 若要擷取的影像清單的背景色彩,請使用 GetBkColor 成員函式。
ILD_BLEND25和ILD_BLEND50樣式遞色影像的系統的醒目提示色彩。 這些樣式是很有用,如果您使用遮罩的影像來代表使用者可選取的物件。 比方說,您可以使用ILD_BLEND50樣式來繪製影像,當使用者選取它。
非遮罩的影像會被複製到目的裝置內容使用 SRCCOPY 掃瞄作業。 映像中的色彩,那麼不管裝置內容的背景色彩出現。 控制台中的繪製樣式繪製也有不會影響非遮罩影像的外觀。
除了繪圖成員函式,另一個函式, DrawIndirect,可擴充能力,來呈現影像。 DrawIndirect時間越長,做為參數, IMAGELISTDRAWPARAMS 結構。 此結構可用來自訂目前影像,包含光柵操作 (ROP) 程式碼使用的呈現方式。 如需有關 ROP 代碼的詳細資訊,請參閱光柵操作代碼和點陣圖做為筆刷在Windows SDK。