通過編程在對話框中顯示真彩色圖像有兩種方式:
不要使用圖片控件,直接在對話框的DC上繪制。如果妳獲得了對話框的DC,並通過壹個靜態框獲得了面積(妳也可以指定面積),那麽妳的其他代碼就不需要修改了。
使用圖片控件。獲得圖片控件的DC後,因為圖片控件的默認顏色是256色,DC中默認的拉伸模式是像素丟失模式,所以妳的圖像會失真。此時,在拉伸顯示之前,將圖像控件的拉伸損失模式重置為像素接近模式:
pDC->;SetStretchBltMode(半色調);
應該註意的是,半色調模式可以產生高質量的圖像,但它也是效率最低和顯示最慢的模式。如果圖像很大或被頻繁調用,則不推薦使用。同時還需要註意的是,設置半色調模式後,最好調用SetBrushOrgEx函數,避免畫筆錯位。
另外,獲取真彩圖像的句柄(指針)有很多方法,可以使用CImage、其他GDI+對象或者圖像解析代碼來實現。MFC的圖像資源,默認也是256色,需要特殊的方法來加載真彩色位圖。