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);
    现在区别明显一些,在坐标系的设置上有着问题。编译,链接都无法找到错误的地方,仅仅是没有预期的结果。

  • 相关阅读:
    陶瓷电容的结构、工艺、失效模式
    Vue.js最佳实践
    Vue 超快速学习
    CSS 小技巧
    HTML5 Canvas
    webkit下面的CSS设置滚动条
    Some untracked working tree files would be overwritten by checkout. Please move or remove them before you can checkout. View them
    JSCS: Please specify path to 'JSCS' package
    React中ref的使用方法
    React 60S倒计时
  • 原文地址:https://www.cnblogs.com/qbin/p/4965849.html
Copyright © 2011-2022 走看看