欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#繪制實(shí)時(shí)曲線圖-創(chuàng)新互聯(lián)

今天下午在終端機(jī)器上的曲線顯示本打算用控件,可控件折騰好長時(shí)間也沒弄順,還是自己寫的好使,記錄下來后面再改進(jìn)。
//繪圖部分的定義
Int32 Draw_Top;//繪畫Y起點(diǎn)
Int32 Draw_Left;//繪畫X起點(diǎn)
Int32 Draw_EdgeWidth;//X邊緣寬度
Int32 Draw_EdgeHeight;//Y邊緣高度
Int32 Draw_RangeWidth;//繪畫范圍寬度
Int32 Draw_RangeHeight;//繪畫范圍高度
Double[] XTDYData = new Double[21];
Int32 ICountDraw=0;

成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),陽信網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:陽信等地區(qū)。陽信做網(wǎng)站價(jià)格咨詢:028-86922220
Int32 IActualWidth, IActualHeight;
    Int32 Draw_AdjustX = 20;
    Int32 Draw_AdjustY = 20;
    Point StartPoint = new Point();
    Point EndPoint = new Point();
    Point ZeroPoint = new Point();
    Int32 IScalesY = 11;
    Int32 IScalesX = 21;
    Int32 IIncrementX;

    Pen pSpecial = new Pen(Color.Black,1);
    Pen pCommon = new Pen(Color.Black,2);
    Font FontTitle = new Font("微軟雅黑", 12);//寫標(biāo)題的字體
    Font FontText = new Font("微軟雅黑", 9);//寫正文的字體           
    SolidBrush SBTitle = new SolidBrush(Color.Red);
    SolidBrush SBText = new SolidBrush(Color.Black);


在數(shù)據(jù)接收的事件中進(jìn)行曲線繪制:
//顯示趨勢圖
ICountDraw = ICountDraw + 1;
if (ICountDraw ==21)
{
for (int i=1;i<21;i++)
{
XTDYData[i - 1] = XTDYData[i];
}
XTDYData[20]= YBDWDealWithData.TYNDianYa.dValue;
ICountDraw = 20;
}
else
{
XTDYData[ICountDraw] = YBDWDealWithData.TYNDianYa.dValue;
}
FuncDrawYBDW();
下面是基礎(chǔ)函數(shù):
public void FuncDrawYBDW() {
Bitmap bmp = new Bitmap(Draw_RangeWidth, Draw_RangeHeight);//定義畫布的大小
Graphics graphics = Graphics.FromImage(bmp);
FuncDrawBasePic(ref graphics);
FuncDrawDynamicPic(ref graphics);
Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
g.DrawImage(bmp, new Point(0, 0));//在內(nèi)存中畫完后顯示在pictureBox1上,避免閃爍
}

public void FuncDrawBasePic(ref Graphics YBDWCanvas)
    {
        //繪制基礎(chǔ)
        //畫一個(gè)方框
        YBDWCanvas.FillRectangle(Brushes.WhiteSmoke, Draw_Top, Draw_Left, Draw_RangeWidth, Draw_RangeHeight);
        //畫坐標(biāo)軸X
        pCommon.Width = 2;
        pCommon.Color = Color.Black;
        StartPoint.X = Draw_Left + Draw_AdjustX;
        StartPoint.Y = Draw_Top + Draw_RangeHeight - Draw_AdjustY * 2;
        EndPoint.X = Draw_Left + Draw_RangeWidth - Draw_AdjustX * 2;
        EndPoint.Y = Draw_Top + Draw_RangeHeight - Draw_AdjustY * 2;
        YBDWCanvas.DrawLine(pCommon, StartPoint, EndPoint);
        IActualWidth = EndPoint.X - StartPoint.X;
        YBDWCanvas.DrawString("X", FontText, SBText, EndPoint.X, EndPoint.Y - 8);
        //畫箭頭
        StartPoint.X = EndPoint.X - 8;
        StartPoint.Y = EndPoint.Y - 4;
        YBDWCanvas.DrawLine(pCommon, StartPoint, EndPoint);
        StartPoint.X = EndPoint.X - 8;
        StartPoint.Y = EndPoint.Y + 4;
        YBDWCanvas.DrawLine(pCommon, StartPoint, EndPoint);
        //畫坐標(biāo)軸Y
        pCommon.Width = 2;
        pCommon.Color = Color.Black;
        StartPoint.X = Draw_Left + Draw_AdjustX;
        StartPoint.Y = Draw_Top + Draw_AdjustY;
        EndPoint.X = Draw_Left + Draw_AdjustX;
        EndPoint.Y = Draw_Top + Draw_RangeHeight - Draw_AdjustY * 2;
        YBDWCanvas.DrawLine(pCommon, StartPoint, EndPoint);
        IActualHeight = EndPoint.Y - StartPoint.Y;
        ZeroPoint = EndPoint;
        //畫畫箭頭
        EndPoint.X = StartPoint.X - 4;
        EndPoint.Y = StartPoint.Y + 8;
        YBDWCanvas.DrawLine(pCommon, StartPoint, EndPoint);
        EndPoint.X = StartPoint.X + 4;
        EndPoint.Y = StartPoint.Y + 8;
        YBDWCanvas.DrawLine(pCommon, StartPoint, EndPoint);
        YBDWCanvas.DrawString("Y", FontText, SBText, EndPoint.X, EndPoint.Y - 8);
        //畫X刻度
        pSpecial.Width = 1;
        pSpecial.DashStyle = DashStyle.Custom;
        pSpecial.DashPattern = new float[] { 1f, 1f };
        IIncrementX = IActualWidth / IScalesX;
        for (int i = 1; i < IScalesX; i = i + 1)
        {
            StartPoint.X = ZeroPoint.X + IIncrementX * i;
            StartPoint.Y = ZeroPoint.Y - 2;
            EndPoint.X = StartPoint.X;
            EndPoint.Y = StartPoint.Y - IActualHeight - 2;
            YBDWCanvas.DrawLine(pSpecial, StartPoint, EndPoint);
            //寫標(biāo)識(shí)字
            if (i % 2 == 0)
            {
                YBDWCanvas.DrawString(i.ToString(), FontText, SBText, StartPoint.X - 6, StartPoint.Y + 4);
            }
        }

        //畫Y刻度
        Int32 IIncrementY = IActualHeight / IScalesY;
        for (int i = 1; i < IScalesY; i = i + 1)
        {
            StartPoint.X = ZeroPoint.X;
            StartPoint.Y = ZeroPoint.Y - IIncrementY * i;
            EndPoint.X = StartPoint.X + IActualWidth;
            EndPoint.Y = StartPoint.Y;
            YBDWCanvas.DrawLine(pSpecial, StartPoint, EndPoint);
            //寫標(biāo)識(shí)字
            if (i % 2 == 0)
            {
                YBDWCanvas.DrawString((i - 1).ToString(), FontText, SBText, StartPoint.X - 12, StartPoint.Y + 4);
            }
        }
        //寫標(biāo)題
        //Rectangle YBDWMe***ect = new Rectangle(SX, SY, MessageDotRadius * 2, MessageDotRadius * 2);//圓的大小
        //YBDWCanvas.FillEllipse(SBTitle, YBDWMe***ect);
        //畫連接線
        YBDWCanvas.DrawString(SDrawTitle, FontTitle, SBTitle, 100,30);

    }

    public void FuncDrawDynamicPic(ref Graphics YBDWCanvas)
        {
        //準(zhǔn)備實(shí)際畫線的數(shù)據(jù)
        Point[] XTDYPoints =new Point[21];//系統(tǒng)電壓數(shù)據(jù)
        for (int i = 0; i < IScalesX; i = i + 1)
        {
                XTDYPoints[i].X = ZeroPoint.X + IIncrementX * i;
                XTDYPoints[i].Y = ZeroPoint.Y - (int)((XTDYData[i]/IActualHeight)*6000);
        }
        pSpecial.Width = 3;
        pSpecial.Color = Color.Red;
        YBDWCanvas.DrawCurve(pSpecial, XTDYPoints, 3.0F);
    }

實(shí)際效果圖:
C#繪制實(shí)時(shí)曲線圖
點(diǎn)選不同的文字進(jìn)行相應(yīng)的實(shí)時(shí)動(dòng)態(tài)圖的顯示。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

文章標(biāo)題:C#繪制實(shí)時(shí)曲線圖-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://chinadenli.net/article6/dhjhog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、全網(wǎng)營銷推廣、App開發(fā)外貿(mào)網(wǎng)站建設(shè)、建站公司、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)