位圖顯示基本程序

 1 BOOL CGraphicView::OnEraseBkgnd(CDC* pDC)
 2 {
 3     // TODO: 在此添加消息處理程序代碼和/或調用默認值
 4     CBitmap bitmap;
 5     bitmap.LoadBitmapA( IDB_BITMAP1 );
 6 
 7     BITMAP bmp;        
 8     bitmap.GetBitmap( &bmp );   // 該結構體bmp可以獲取有關位圖的信息
 9 
10 
11     CDC dcCompatible;
12     dcCompatible.CreateCompatibleDC( pDC );  // 創建與當前DC(pDC)兼容的DC
13     dcCompatible.SelectObject( &bitmap );
14 
15     CRect rect;
16     GetClientRect( &rect );
17 
18     /** 法一:將兼容DC中的位圖複製到目的DC中,該函數是1:1複製的,不會伸縮和壓縮位圖;
19     pDC->BitBlt( 0, 0, rect.Width(), rect.Height(), &dcCompatible, 0, 0, SRCCOPY );
20     */
21     
22     // 法二:可以按照指定大小實現位圖的伸縮和拉伸
23     pDC->StretchBlt( 0, 0, rect.Width(), rect.Height(), &dcCompatible, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY );
24 
25     // return CView::OnEraseBkgnd(pDC);   // 不要調用基類的方法,否則會擦除背景
26     return TRUE;
27 }
發佈了7 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章