1. 程式人生 > >MFC中當儲存點陣圖時,圖片為全黑的解決辦法

MFC中當儲存點陣圖時,圖片為全黑的解決辦法

        需要建立相容點陣圖,建立相容DC,然後需要將點陣圖選入DC中,再將螢幕DC的影象拷貝到建立的相容記憶體DC中。

    ······
    CRect rect1;
	GetClientRect(&rect1);                  //獲取畫布大小    
	HBITMAP hbp = CreateCompatibleBitmap(dc, rect1.Width(), rect1.Height());       //建立相容點陣圖  

	HDC hdc1 = CreateCompatibleDC(dc);      //建立相容DC    
	(HBITMAP)SelectObject(hdc1, hbp);      //將點陣圖選入DC
	BitBlt(hdc1, 0, 0, rect1.right - rect1.left, rect1.bottom - rect1.top, dc, 0, 0, SRCCOPY);        //將螢幕DC的影象複製到記憶體DC中  

	CRawImage rawIa;
	rawIa.Load(hbp);
	//rawIa.Rotate(0, 1, 90);
	rawIa.Save(_T("D:\\image\\rawTest.png"), 0);
    ······