zoukankan      html  css  js  c++  java
  • MFC GDI绘图

    DC——MFC设备描述表类(也叫设备环境、设备上下文)。
    默认起始点(0,0),带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); //圆弧
  • 相关阅读:
    二级指针与二维数组
    二维数组的两种访问方式
    函数返回局部变量
    函数指针
    链表
    二叉树各种遍历
    二叉树常见问题
    C语言单链表实现19个功能完全详解
    halcon算子翻译——set_fuzzy_measure_norm_pair
    Halcon算子翻译——set_fuzzy_measure
  • 原文地址:https://www.cnblogs.com/xixixing/p/11883578.html
Copyright © 2011-2022 走看看