MFC GDI绘图

Posted xixixing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC GDI绘图相关的知识,希望对你有一定的参考价值。

DC——MFC设备描述表类(也叫设备环境、设备上下文)。
带To的会移动起始点。

新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数

技术图片

void CMFCApplication10View::OnPaint()
{
    CPaintDC dc(this); // CPaintDC是OnPaint()里专用的,其他函数里用CClientDC

    /*画直线,客户区域*/
    CRect rect; //矩形区域对象
    GetClientRect(rect); //获得客户区域,赋值给rect
    dc.MoveTo(rect.right, rect.top); //从指定点开始
    dc.LineTo(rect.left, rect.bottom);

    /*指定矩形区域内画图*/
    CRect rect1(20, 20, 220, 120);
    dc.Rectangle(rect1); //画矩形
    dc.Ellipse(rect1); //画椭圆    

    /*椭圆圆弧,截取椭圆的一部分*/
    CRect rect2(230, 20, 430, 120);
    CPoint point1(330, 0);
    CPoint point2(230, 70);
    dc.Arc(rect2, point1, point2);//p1、p2与圆心的连线,来截取椭圆弧

    /*折线*/
    //dc.MoveTo(50, 50); //起始点
    //POINT point[3] = { 100, 80, 150, 50, 200, 80 }; //3个点
    //dc.PolylineTo(point, 3); //从起始点依次连线,共4个点
    POINT point[4] = {50,50,100, 80, 150, 50, 200, 80}; //4个点,与上三行等效
    dc.Polyline(point, 4);

    /*曲线*/
    dc.PolyBezier(point, 4);
}

 

    CRect rect3(440, 20, 640, 220);
    CPoint p3(540, 20);
    CPoint p4(440, 120);
    dc.Pie(rect3, p3, p4);//饼形图,过圆心
    //dc.Chord(rect3, p3, p4); //弦+圆弧
    //dc.Arc(rect3, p3, p4); //圆弧

 

以上是关于MFC GDI绘图的主要内容,如果未能解决你的问题,请参考以下文章

MFC-GDI和GDI+

VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

(转载)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

利用Microsoft VC++6.0 的MFC 的绘图工具实现简单图形的绘制

MFC里的DC是啥意思

在 COM 服务器中使用 MFC - 我都有哪些选择?