<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    直線的“橡皮筋”畫法

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

     

    微軟的畫圖程序中畫直線時,會有畫線提示,形象的說就像“橡皮筋”一樣,在未最終確定直線的長度和角度前都會有一根類似“橡皮筋”的直線,便于客戶可以方便的畫出理想的直線,具體實現方法如下:

    void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
    {
     m_bDraw = true;
     m_ptOrigin = point;
     m_ptEnd = point;
     CView::OnLButtonDown(nFlags, point);
    }

     

    void CDrawView::OnMouseMove(UINT nFlags, CPoint point)
    {
     if(m_bDraw)
     {
      CClientDC dc(this);
      dc.SetROP2(R2_NOT);     //1
      dc.MoveTo(m_ptOrigin);  //2
      dc.LineTo(m_ptEnd);    //3
      m_ptEnd = point;
      dc.MoveTo(m_ptOrigin);
      dc.LineTo(m_ptEnd);
     }
     CView::OnMouseMove(nFlags, point);
    }

    具體原理是,m_ptOrigin為起始坐標點,m_ptEnd不斷的記錄終端坐標點,這里假定客戶區是白色的,在鼠標移動時,1句是將繪圖的模式設成像素色為屏幕顏色的反色,注意這時的m_ptEnd為上一次的鼠標移動的終點,上次那條線顏色為黑色,通過1、2、3句將上次的那條線的像素色黑色變成白色和客戶區顏色相同,后面三句才最終畫出在現在這個坐標終點下的黑色直線。不斷往復。(其實這個方法雖然很普遍,但是很不實用)

     

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全