Как заполнить кривую Безье GDI C

Мне нужно заполнить замкнутую кривую Безера цветом … Кто-нибудь может мне помочь улучшить этот код, потому что он не работает:

    COLORREF collor = RGB(100,50,150);
CPen g(PS_INSIDEFRAME, 50, collor);
pDC->SetBkColor(RGB(90, 100, 128));
pDC->SelectObject(&g);
CPoint Pt[10]=
{

CPoint(400, 260),
CPoint(480, 260),
CPoint(500, 260),
CPoint(470, 290),
CPoint(450, 350),
CPoint(470, 370),
CPoint(430, 370),
CPoint(420, 391),
CPoint(405, 410),
CPoint(400, 260),
};
pDC->PolyBezier(Pt, 10);

Спасибо!

2

Решение

Вам нужно выбрать кисть, которая была создана как сплошной цвет с цветом, который вы хотите заполнить.

CBrush brush;
brush.CreateSolidBrush(collor);
CBrush * pOldBrush = (CBrush *) pDC->SelectObject(&brush);
...
pDC->SelectObject(pOldBrush);
3

Другие решения

Других решений пока нет …