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); //圆弧
  • 相关阅读:
    BZOJ4987 Tree
    BZOJ4817 [SDOI2017]树点涂色
    BZOJ4811: [YNOI2017] 由乃的OJ
    BSGS算法
    codeforces914G Sum the Fibonacci
    NOI2018网络同步赛游记
    雅礼集训 2017 Day2 水箱 可并堆
    CTSC&APIO2018游记
    51Nod 有限背包计数问题 题解报告
    CTSC2016&&APIO2016游记
  • 原文地址:https://www.cnblogs.com/xixixing/p/11883578.html
Copyright © 2011-2022 走看看