一个绘制眉毛形状的函数

来源:互联网 发布:mac怎么装word 编辑:程序博客网 时间:2024/04/27 17:09

void FontScoreDC::draw_poly_bezier(Point start, Point ctrl1, Point ctrl2, Point end, const Color& clr)

{ 

    HBRUSH hBrush ;

    HBRUSH oldBrush ;

 

POINT pt[8] ;

   

    hBrush = CreateSolidBrush(RGB(clr.r_, clr.g_, clr.b_)) ;

    oldBrush = (HBRUSH)SelectObject(m_hDC, hBrush) ;

 

BeginPath(m_hDC) ;

 

pt[0].x = start.x_ ;

pt[0].y = start.y_ ;

 

pt[1].x = ctrl1.x_ ;

pt[1].y = ctrl1.y_ ;

 

pt[2].x = ctrl2.x_ ;

pt[2].y = ctrl2.y_ ;

 

pt[3].x = end.x_ ;

pt[3].y = end.y_ ;

 

pt[4].x = end.x_ ;

pt[4].y = end.y_ ;

 

pt[5].x = ctrl2.x_ ;

pt[5].y = ctrl2.y_ + 2 ;

 

pt[6].x = ctrl1.x_ ;

pt[6].y = ctrl1.y_ + 2 ;

 

pt[7].x = start.x_ ;

pt[7].y = start.y_ ;

 

 

PolyBezier(m_hDC, pt, 4) ;

PolyBezier(m_hDC, pt+4, 4) ;

 

EndPath(m_hDC) ;

 

FillPath(m_hDC) ;

 

    SelectObject(m_hDC, oldBrush) ;

    DeleteObject(hBrush) ;

}