2015-04-24 69 views
1

我已經加載了一個位圖圖像,並設法在位圖圖像上繪製一個橢圓。問題是橢圓看起來好像是用畫筆繪製的,但我用筆畫出了橢圓。 (即)橢圓是不透明的。我希望它是透明的。此外,橢圓的顏色固定爲白色。即使改變RGB值,它也不會改變。在MFC的BITMAP中添加GDI形狀

這裏是您沒有選擇透明刷代碼

void CImagePreview1View::OnPaint() 
{ 
    CPaintDC dc(this); 
    CBitmap bmp; 
    CDC MemDC; 
    bmp.LoadBitmap(IDB_FOOD); 
    MemDC.CreateCompatibleDC(&dc); 
    CBitmap *bmpPrevious=MemDC.SelectObject(&bmp); 
    dc.BitBlt(20,30,436,364,&MemDC,0,0,SRCCOPY); 
    dc.SelectObject(bmpPrevious); 
    CPen newPen; 
    newPen.CreatePen(PS_SOLID,1,RGB(152,125,175)); 
    dc.SelectObject(newPen); 
    dc.Ellipse(30,60,130,160); 
} 
+0

的選擇對象方法返回句柄前一個對象。嘗試選擇原始對象回到直流。它應該像「檔案關閉」一樣行事。有關信息,請參閱[MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/dd162957%28v=vs.85%29.aspx)。 – rrirower

回答

0

CBrush brush; 
    brush.CreateStockObject(NULL_BRUSH); 
    CBrush* oldBrush = (CBrush*)MemDC.SelectObject(&brush); 
+0

感謝您的回覆。但我用筆。不是筆應該畫空心的形狀嗎? – BeginnerWin32

+0

筆和筆都用於繪製形狀。所以你也必須選擇刷子。 –

+0

據我所知,Pen繪製了一個空心的橢圓,畫筆繪製了橢圓。我的問題是,我是否最終得到了填充橢圓,即使我用過鋼筆? – BeginnerWin32