zoukankan      html  css  js  c++  java
  • 顺时针与逆时针

    顺时针与逆时针
    代码部分
    CRect rect;
    GetClientRect(&rect);
    pDC->SetMapMode(MM_ANISOTROPIC);
    pDC->SetWindowExt(rect.Width(), rect.Height());
    pDC->SetWindowExt(rect.Width(), -rect.Height());
    pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2);

    rect.OffsetRect(-rect.Width()/2, -rect.Height()/2);

    CPoint Twelve(0, rect.Width()/2), Three(rect.Height()/2, 0);

    CPen penBlack, penBlue, *pOldPen;
    penBlack.CreatePen(PS_DASHDOT, 1, RGB(255, 0, 0));
    penBlue.CreatePen(PS_SOLID, 1, RGB(0, 0, 255));

    pDC->SetArcDirection(AD_CLOCKWISE);
    pOldPen = pDC->SelectObject(&penBlue);
    pDC->Arc(rect, Twelve, Three);

    pDC->SetArcDirection(AD_COUNTERCLOCKWISE);
    pOldPen = pDC->SelectObject(&penBlack);
    pDC->Arc(rect, Twelve, Three);

    pDC->SelectObject(pOldPen);
    编译后
    --------------------Configuration: Method - Win32 Debug--------------------
    Compiling...
    Skipping... (no relevant changes detected)
    MethodView.cpp

    MethodView.obj - 0 error(s), 0 warning(s)
    链接后
    --------------------Configuration: Method - Win32 Debug--------------------
    Linking...

    Method.exe - 0 error(s), 0 warning(s)
    运行后,没有得到想要的结果。
    CRect rect;
    GetClientRect(&rect);
    pDC->SetMapMode(MM_ANISOTROPIC);
    pDC->SetWindowExt(rect.Width(), rect.Height());
    pDC->SetWindowExt(rect.Width(), -rect.Height());
    pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2);

    rect.OffsetRect(-rect.Width()/2, -rect.Height()/2);

    CPoint Twelve(0, rect.Height()/2), Three(rect.Width()/2, 0);

    CPen penBlack, penBlue, * pOldPen;
    penBlue.CreatePen(PS_SOLID, 1, RGB(0, 0, 255));
    penBlack.CreatePen(PS_DASHDOT, 1, RGB(255, 0, 0));

    pDC->SetArcDirection(AD_CLOCKWISE);
    pOldPen = pDC->SelectObject(&penBlue);
    pDC->Arc(rect, Twelve, Three);

    pDC->SetArcDirection(AD_COUNTERCLOCKWISE);
    pOldPen = pDC->SelectObject(&penBlack);
    pDC->Arc(rect, Twelve, Three);

    pDC->SelectObject(pOldPen);
    =============================================================分割线================================================================
    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);

    rect.OffsetRect(-rect.Width()/2, -rect.Height()/2);

    CPoint Twelve(0, rect.Height()/2), Three(rect.Width()/2, 0);

    CPen penBlack, penBlue, * pOldPen;
    penBlue.CreatePen(PS_SOLID, 1, RGB(0, 0, 255));
    penBlack.CreatePen(PS_DASHDOT, 1, RGB(255, 0, 0));

    pDC->SetArcDirection(AD_CLOCKWISE);
    pOldPen = pDC->SelectObject(&penBlue);
    pDC->Arc(rect, Twelve, Three);

    pDC->SetArcDirection(AD_COUNTERCLOCKWISE);
    pOldPen = pDC->SelectObject(&penBlack);
    pDC->Arc(rect, Twelve, Three);

    pDC->SelectObject(pOldPen);
    现在可以得到正常结果,对比上下代码,可能无法找到区别
    pDC->SetWindowExt(rect.Width(), rect.Height());
    pDC->SetWindowExt(rect.Width(), -rect.Height());
    pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2);

    pDC->SetWindowExt(rect.Width(), rect.Height());
    pDC->SetViewportExt(rect.Width(), -rect.Height());
    pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2);
    现在区别明显一些,在坐标系的设置上有着问题。编译,链接都无法找到错误的地方,仅仅是没有预期的结果。

  • 相关阅读:
    如何添加看板娘(转载的)
    golang gin LoadHTMLGlob 加载模板文件
    wpf Popup 不跟随窗口移动的问题
    golang 在vscode 安装插件失败的解决方法
    javaweb + tomcat + 部署 + 域名绑定 + 默认首页
    【RabbitMQ】三种Exchange模式——订阅、路由、通配符模式
    一切的浮点型进行计算操作都要用BigDecimal
    如何让mysql按照两个或多个字段排序
    JAVA枚举操作(获取值,转map集合)
    gitlab 配置 ssh key
  • 原文地址:https://www.cnblogs.com/qbin/p/4965849.html
Copyright © 2011-2022 走看看