国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

.NET示波器控件的實例代碼分析

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:40:58
文檔

.NET示波器控件的實例代碼分析

.NET示波器控件的實例代碼分析:緣起同事負責的項目中,會掃描硬件中的某個東西是否存在,因此老板希望對這些掃描結(jié)果,能有個圖像畫的介面可以查看因此做了個小工具,可讀取同事提供的數(shù)據(jù),并將其視覺化顯示那顯示掃描結(jié)果最容易的就是示波器了,但第三方控件的示波器功能又太繁瑣,最終就
推薦度:
導讀.NET示波器控件的實例代碼分析:緣起同事負責的項目中,會掃描硬件中的某個東西是否存在,因此老板希望對這些掃描結(jié)果,能有個圖像畫的介面可以查看因此做了個小工具,可讀取同事提供的數(shù)據(jù),并將其視覺化顯示那顯示掃描結(jié)果最容易的就是示波器了,但第三方控件的示波器功能又太繁瑣,最終就

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

思路

如圖所示,示波器其實就是這樣簡單的圖
整體思路其實很單純,就把一個示波器分成三個部分來繪制.
首先是上面那塊橫線,通常表示高值
第二塊是下面那塊橫線,表示低直
第三部分就是連結(jié)垂直的線
高度的運算,我是用最簡單的方式,將一個UC的高度直接除2,當做中心y座標
表示高點的則是中心y座標往上,高度/5的位置
表示低點的則是中心y座標往下,高度/5的位置
示波器的部份,則是先把頭尾的線去掉,然后再將數(shù)據(jù)拆分成兩個部分
一個部分是高點要繪制的座標,另一部分是低點要繪制的座標
有了這兩個座標,就同時可以繪制垂直的線了
比例上則是使用示波器的值,以及這個控件的寬度做比例上的調(diào)整
代碼
代碼如下:
int max = m_mappingDatas[m_mappingDatas.Count - 1];
m_Ratio = (max + m_mappingDatas[0]*2) / m_width;
// Draw Wafer data
for (int i = 1, j = 0; i < m_mappingDatas.Count; i+=2 ,j++)
{
    float xStart = m_mappingDatas[i - 1];
    float xEnd = m_mappingDatas[i];
    graphics.DrawLine(pen, xStart / m_Ratio, m_yPositionOfWafer,
        xEnd / m_Ratio, m_yPositionOfWafer);
    graphics.DrawString((j+1).ToString(), Control.DefaultFont, brush,
        (xStart / m_Ratio) - 2, m_yPositionOfNoWafer + 1);
}
// Draw No Wafer data
graphics.DrawLine(pen, 0, m_yPositionOfNoWafer,
        m_mappingDatas[0] / m_Ratio, m_yPositionOfNoWafer);
for (int i = 2; i < m_mappingDatas.Count; i += 2)
{
    float xStart = m_mappingDatas[i - 1];
    float xEnd = m_mappingDatas[i];
    graphics.DrawLine(pen, xStart / m_Ratio, m_yPositionOfNoWafer,
        xEnd / m_Ratio, m_yPositionOfNoWafer);
}
graphics.DrawLine(pen, m_mappingDatas[m_mappingDatas.Count - 1] / m_Ratio, m_yPositionOfNoWafer,
        m_width, m_yPositionOfNoWafer);
// Draw vertical line
for (int i = 1; i < m_mappingDatas.Count; i += 2)
{
    float X1 = m_mappingDatas[i - 1];
    float X2 = m_mappingDatas[i];
    graphics.DrawLine(pen, X1 / m_Ratio, m_yPositionOfWafer,
        X1 / m_Ratio, m_yPositionOfNoWafer);
    graphics.DrawLine(pen, X2 / m_Ratio, m_yPositionOfWafer,
        X2 / m_Ratio, m_yPositionOfNoWafer);
}

在我的代碼中,是要掃描半導體晶圓,所以高點是表示有晶圓,低點則是表示沒有晶圓
項目下載

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

.NET示波器控件的實例代碼分析

.NET示波器控件的實例代碼分析:緣起同事負責的項目中,會掃描硬件中的某個東西是否存在,因此老板希望對這些掃描結(jié)果,能有個圖像畫的介面可以查看因此做了個小工具,可讀取同事提供的數(shù)據(jù),并將其視覺化顯示那顯示掃描結(jié)果最容易的就是示波器了,但第三方控件的示波器功能又太繁瑣,最終就
推薦度:
標簽: 代碼 例子 源代碼
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产成人久久蜜一区二区 | 性插欧美 | 91热这里只有精品 | 日产精品久久久一区二区 | 99久久国产亚洲综合精品 | 亚洲欧美日韩专区 | 欧美性猛交xxx乱大交 | 日日摸夜夜添夜夜爽免费视频 | 国产偷窥女洗浴在线观看 | 欧美日韩国产综合在线 | 欧美另类图片亚洲偷 | 免费精品在线观看 | 日韩欧美一区二区三区免费观看 | 亚洲色图国产精品 | 激情一区 | 日本精品一区二区三区在线观看 | 亚洲国产一成人久久精品 | 成人久久久精品乱码一区二区三区 | 日本欧美一区二区三区不卡视频 | 国产精品高清视亚洲一区二区 | 亚洲 欧美 中文 日韩欧美 | 欧美日韩亚洲无线码在线观看 | 国产精品一区久久 | 国产精品一区二区久久精品 | 久久精品国产亚洲aa | 国产午夜小视频 | 精品久久久久久久一区二区手机版 | 国产一区二区日韩欧美在线 | 日韩欧美在线综合网 | 国产成人久久精品激情 | 在线视频区 | 亚洲欧美日韩网站 | 久久久这里有精品999 | 伊人精品久久久大香线蕉99 | 日韩精品欧美一区二区三区 | 99精品国产成人一区二区 | 欧美日韩国产另类一区二区三区 | 日本国产最新一区二区三区 | 激情欧美一区二区三区中文字幕 | 国产精品免费网站 | 亚洲wuma|