路徑層函數

來源:互聯網
上載者:User

標籤:

路徑層函數
CBrush::CreateSolidBrush
BOOL CreateSolidBrush( COLORREF crColor );
傳回值成功非零; 失敗返零.
參數crColor 是顏色結構體變數,指定畫刷顏色. 顏色可以是指定一個RGB值,也可以通過WINDOWS.H的RGB宏來構造
說明:用指定的固體顏色初始化畫刷;可以被任何裝置上下文選為當前畫刷.應用完由CreateSolidBrush建立的畫刷要將它從裝置上下文裡取出。

CDC::FillPath
BOOL FillPath( );
傳回值成功非零; 失敗返零.
說明:關閉當前路徑中的所有開啟的資料並使用當前畫刷和多邊形填充模式填充路徑內部。當路徑內部填充完,路徑從裝置上下文中拋棄。

CDC::EndPath
BOOL EndPath( );
傳回值成功非零; 失敗返零.
說明:關閉某個等級的路徑並將由定義為該等級的路徑選入裝置上下文

CDC::BeginPath
BOOL BeginPath( );
傳回值成功非零; 失敗返零.
說明:在裝置上下文中開啟某個等級的路徑。開啟後,應用可以開始調用GDI的圖形繪製函數來定義位於路徑裡的點。應用也可以通過調用成員函數EndPath來關閉該路徑。當應用調用BeginPath,任何之前的路徑都被拋棄。

代碼部分
CRect rect;
GetClientRect(rect);
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(rect.Width(), rect.Height());
pDC->SetViewportExt(rect.Width(), -rect.Height());
pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2);

CPoint p[7];
p[0] = CPoint(-160, 20);
p[1] = CPoint(-240, 100);
p[2] = CPoint(-280, 0);
p[3] = CPoint(-240, -100);
p[4] = CPoint(-180, -40);
p[5] = CPoint(-140, -100);
p[6] = CPoint(-60, 40);

CBrush NewBrush;
NewBrush.CreateSolidBrush(RGB(255, 0, 0));
CBrush *pOldBrush = pDC->SelectObject(&NewBrush);

pDC->BeginPath();

pDC->MoveTo(p[0]);
for (int i = 1; i < 7; i++)
pDC->LineTo(p[i]);
pDC->LineTo(p[0]);

pDC->EndPath();

pDC->FillPath();

CPen NewPen, * pOldPen;
NewPen.CreatePen(PS_SOLID, 5, RGB(0, 0, 0));
pOldPen = pDC->SelectObject(&NewPen);

p[0] = CPoint(200, 20);
p[1] = CPoint(120, 100);
p[2] = CPoint(80, 0);
p[3] = CPoint(120, -100);
p[4] = CPoint(180, -40);
p[5] = CPoint(220, -100);
p[6] = CPoint(300,40);

pDC->BeginPath();

pDC->MoveTo(p[0]);
for(i = 1; i < 7; i++)
pDC->LineTo(p[i]);
pDC->LineTo((p[0]));

pDC->EndPath();

pDC->StrokeAndFillPath();

pDC->SelectObject(pOldBrush);
pDC->SelectObject(pOldPen);
NewBrush.DeleteObject();

開啟路徑,繪製,關閉路徑,填充路徑
“路徑層函數”,“層”是指繪製的那條線以及由線構成的閉合地區,而不是所有的視圖區。

路徑層函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.