熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.NET示波器控件范例代碼

2013-11-13 10:11:18  來源: .NET編程 

  同事負責的項目中會掃描硬件中的某個東西是否存在因此老板希望對這些掃描結果能有個圖像畫的介面可以查看
   
    因此做了個小工具可讀取同事提供的數據並將其視覺化顯示
   
    那顯示掃描結果最容易的就是示波器了但第三方控件的示波器功能又太繁瑣最終就決定自己做個簡單的
   
    反正對我來說用GDI來繪制跟花時間去研究沒用過的第三方控件時間也不會差太多

  思路  


  首先是上面那塊橫線通常表示高值
   
    第二塊是下面那塊橫線表示低直
   
    第三部分就是連結垂直的線
   
    高度的運算我是用最簡單的方式將一個UC的高度直接除當做中心y座標
   
    表示高點的則是中心y座標往上高度/的位置
   
    表示低點的則是中心y座標往下高度/的位置
   
    示波器的部份則是先把頭尾的線去掉然後再將數據拆分成兩個部分
   
    一個部分是高點要繪制的座標另一部分是低點要繪制的座標
   
    有了這兩個座標就同時可以繪制垂直的線了
   
    比例上則是使用示波器的值以及這個控件的寬度做比例上的調整
   
    代碼
   
    [csharp]
   
    int max = m_mappingDatas[m_mappingDatasCount ];
   
    m_Ratio = (max + m_mappingDatas[]*) / m_width;
   
    // Draw Wafer data
   
    for (int i = j = ; i < m_mappingDatasCount; i+= j++)
   
    {
   
    float xStart = m_mappingDatas[i ];
   
    float xEnd = m_mappingDatas[i];
   
    graphicsDrawLine(pen xStart / m_Ratio m_yPositionOfWafer
   
    xEnd / m_Ratio m_yPositionOfWafer)
   
    graphicsDrawString((j+ToString() ControlDefaultFont brush
   
    (xStart / m_Ratio) m_yPositionOfNoWafer +
   
    }
   
    // Draw No Wafer data
   
    graphicsDrawLine(pen m_yPositionOfNoWafer
   
    m_mappingDatas[] / m_Ratio m_yPositionOfNoWafer)
   
    for (int i = ; i < m_mappingDatasCount; i +=
   
    {
   
    float xStart = m_mappingDatas[i ];
   
    float xEnd = m_mappingDatas[i];
   
    graphicsDrawLine(pen xStart / m_Ratio m_yPositionOfNoWafer
   
    xEnd / m_Ratio m_yPositionOfNoWafer)
   
    }
   
    graphicsDrawLine(pen m_mappingDatas[m_mappingDatasCount ] / m_Ratio m_yPositionOfNoWafer
   
    m_width m_yPositionOfNoWafer)
   
    // Draw vertical line
   
    for (int i = ; i < m_mappingDatasCount; i +=
   
    {
   
    float X = m_mappingDatas[i ];
   
    float X = m_mappingDatas[i];
   
    graphicsDrawLine(pen X / m_Ratio m_yPositionOfWafer
   
    X / m_Ratio m_yPositionOfNoWafer)
   
    graphicsDrawLine(pen X / m_Ratio m_yPositionOfWafer
   
    X / m_Ratio m_yPositionOfNoWafer)
   
    }
   
    在我的代碼中是要掃描半導體晶圓所以高點是表示有晶圓低點則是表示沒有晶圓


From:http://tw.wingwit.com/Article/program/net/201311/12833.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.