在MFC中的BITMAP上添加GDI形状

时间:2015-04-24 11:07:08

标签: bitmap mfc gdi

我已经加载了位图图像并设法在位图图像上绘制一个椭圆。问题是椭圆看起来好像是用画笔绘制的,但是我用笔画了椭圆。 (即)椭圆是不透明的。我希望它是透明的。椭圆的颜色也固定为白色。即使我更改RGB值,它也不会改变。

这是代码

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);
}

1 个答案:

答案 0 :(得分:0)

您尚未选择透明画笔:

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