真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net繪制曲線圖 vb實時曲線繪制

vb.net連續(xù)繪制曲線圖不消失

您好,您是想問vb.net連續(xù)繪制曲線圖不消失怎么辦?b.net連續(xù)繪制曲線圖不消失的解決辦法如下:

創(chuàng)新互聯(lián)建站專注于江陰網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供江陰營銷型網(wǎng)站建設(shè),江陰網(wǎng)站制作、江陰網(wǎng)頁設(shè)計、江陰網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造江陰網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供江陰網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

1、首先必須創(chuàng)建bitmap,關(guān)聯(lián)到picturebox1.image上。

2、再在picturebox1.image上創(chuàng)建Graphics,再進行作圖。即可顯示線圖。

vb.net繪制曲線圖

。net ?其實還是很好繪制圖形的

你可以看下?Graphics ?類

Dim d As New Bitmap(Me.Width, Me.Height) ?‘一個圖片吧

? Dim g As Graphics = Graphics.FromImage(d)’繪制 ?準備在這個圖片是進行

然后 ?就是你繪制的東西了

線 就是 ??g.DrawLine()

圓 弧度 ?就用 ?g.DrawArc(Pens.Black, New Rectangle(0, 0, 400, 200), 0, 360)

復(fù)雜的就是 ? ? ?g.DrawBezier()

等 ?如果你用的是 VS的 ?編譯 ?上面都有詳細的參數(shù)說明

Dim?d?As?New?Bitmap(Me.Width,?Me.Height)

Dim?g?As?Graphics?=?Graphics.FromImage(d)

g.DrawArc(Pens.Black,?New?Rectangle(0,?0,?200,?200),?0,?360)

g.DrawLine(Pens.Red,?New?Point(0,?0),?New?Point(200,?200))

g.DrawLines(Pens.Green,?New?Point()?{New?Point(0,?0),?New?Point(50,?40),?New?Point(50,?80),?New?Point(90,?70),?New?Point(100,?400)})

g.DrawBezier(Pens.Yellow,?New?Point(0,?100),?New?Point(0,?0),?New?Point(200,?0),?New?Point(200,?200))

g.Dispose()

Me.BackgroundImage?=?d

請問怎么樣用VB.net(C#)在Excel上繪制曲線圖?

Beginning VB 2008 從入門到精通 ;ID=181830 Pro VB 2008 and the .NET 3.5 Platform ;ID=184746 Visual Basic 2008 Programmerss Reference ;ID=181605 Apress Accelerated VB 2008 ;ID=181504 Visual Basic 2008 Step by Step Wrox Professional VB 2005 with .NET 3.0 ;ID=158893 Build A Program Now Visual Basic 2005 ;ID=146029 .NET游戲編程入門經(jīng)典—VB.NET篇 ;ID=158821 O'Reilly Visual Basic 2005 Cookbook ;ID=160654 .NET Insight for Classic VB Developers ;ID=162041 Fast Track Visual Basic.NET ;ID=161990 Security for Microsoft Visual Basic.NET ;ID=175012 Visual Basic.NET How to Program 第二版 ;ID=173182 Visual Basic 2005 簡明教程 ;ID=173180 Visual Basic 2005傻瓜書 ;ID=173178 Programming Visual Basic.NET ;ID=173164 Visual Basic .NET Tips and Techniques ;ID=176561 VB開發(fā)人員SQL Sever指南 ;ID=173176 How to Code .NET ;ID=145559 Essential .NET, Volume I ;ID=176152 ADO.NET全攻略 . 查看原帖

vb中如何畫曲線圖?

我先給你寫一段如果不明白加我QQ:905906

在工控制軟件中,實時曲線的繪制用途非常的廣泛,它可以很直觀的顯示出監(jiān)控數(shù)據(jù)的變化值和變化趨勢。在VB中實現(xiàn)曲線的繪制有很多種方法,本文介紹一種非常簡單的方法來實現(xiàn)實時曲線的繪制。

在VB中實現(xiàn)實時曲線的繪制,要利用VB的PictureBox(圖像)控件,和畫線函數(shù)line(x1,y1)-(x2,y2)。PictureBox控件,可以作為一個“容器”,在它的里面可以包含很多的對象。也可以執(zhí)行很多VB的內(nèi)部函數(shù)。

要實現(xiàn)實時曲線的繪制,肯定要有外部實時數(shù)據(jù)的輸入,這里假設(shè)是有一個數(shù)據(jù)從計算機的串口輸入 定義該數(shù)據(jù)變量為DataFromCom。實時曲線反映的就是該數(shù)據(jù)。

打開VB6.0中文版,新建一個項目和窗體,修改窗體的屬性,將“Heigh”修改為:8000,“Width”修改為在窗體中放如一個PictureBox控件。然后重新定義PictureBox控件的一些基本屬性,在VB中選中PictureBox控件,直接在它的屬性框中,修改一些屬性參數(shù)?!懊Q”改為Pic。 “AutoRedraw”改為:True。“BackColor”改為:H00004000(墨綠色背景顏色)?!盚eigh”改為:5000?!癢idth”改為:8000。如圖1所示:

然后要重新定義PictureBox控件的坐標系。圖像框的默認坐標系,是從左上角開始的,不符合我們的畫線要求。修改坐標系的目的是讓曲線從圖像框的左邊正中間,開始畫線。修改圖像框的坐標系,這里定義一個過程PicScale(),代碼如下:

Private Sub PicScale(picX As PictureBox)

picX.Scale (0, PicX.ScaleHeight)-(picX.ScaleWidth, -PicX.ScaleHeight)

End Sub

一般的實時曲線顯示的時候在屏幕的正中間有一條基準線,這里也要畫出這條基準線,用一個過程PicMidleLine()來實現(xiàn),代碼如下:

Private Sub PicMidleLine( picX As PictureBox)

picX.Line (0, 0)-(picX.ScaleWidth, 0), vbGreen '畫出中線

End Sub

要畫一條實時曲線,坐標軸的設(shè)定很重要,在這里把X軸設(shè)定為時間軸,Y軸設(shè)定為數(shù)據(jù)軸。對應(yīng)X軸我們定義一個時間變量TimeCount,TimeCount會隨著時間逐漸遞增,每次遞增,對應(yīng)著一個從串口讀過來的數(shù)據(jù)DataFromCom,這樣圖像框中的(x,y)坐標點實際上就對應(yīng)著(TimeCount,DataFromCom)如果只是當(dāng)TimeCount發(fā)生變化時就在圖像框上畫一個點,就只需調(diào)用VB中的畫像素的函數(shù)point(x,y),這里x,y為所畫的點的坐標。單這樣畫出來的是一個個不連續(xù)的點。我們想要的是實時的連續(xù)的曲線,所以要調(diào)用VB中的畫線的函數(shù)line(x1,y1)-(x2,y2),這里(x1,y1)(x2,y2)為所要畫的線的起點和終點的坐標。只要把上次串口讀過來的數(shù)據(jù)(這里把它定義為變量DataFromComLast)和現(xiàn)在串口讀過來的數(shù)據(jù)(DataFromCom)和TimeCount相對應(yīng),調(diào)用line(x1,y1)-(x2,y2)函數(shù)就可以在圖像框中畫出實時的曲線了。把它寫成一個過程如下面的代碼:

Private Sub DrawRealLine(picX As PictureBox, TimeCountX As Integer, DataFromComX As Integer, DataFromComLastX As Integer)

If TimeCountX - 1 0 Then

picX.Line (TimeCountX - 1, DataFromComLastX)-(TimeCountX, DataFromComX), vbWhite

End If

End Sub

有了三個過程就可以在圖像框中畫出一條實時的曲線了。

DrawRealLine()過程中的picX.Line (TimeCountX - 1, DataFromComLastX)-(TimeCountX, DataFromComX), vbWhite所畫線的起始點和結(jié)束點都是以像素為單位的,這樣以來如果不改變的話,畫出來的線將是一個屏幕上像素相連的很密的曲線,通過調(diào)整line(x1,y1)-(x2,y2)

中的x的值,就可以畫出分布密度不一樣的曲線,這里為了在屏幕上能夠看到不是很密的曲線我們把x乘以一個系數(shù)10,修改為:

picX.Line ((TimeCountX - 1) * 10, DataFromComLastX)-(TimeCountX * 10, DataFromComX), vbWhite

這比較容易在屏幕上看到稀疏的曲線。

由于是僅僅講解如何畫出實時的曲線,讀者的計算機上未必有和串口相連的設(shè)備,這里用一個定時器控件來模擬從串口讀過來的數(shù)據(jù)。在窗體上放入一個Timer控件,修改Timer控件的屬性為:“Enable”該為True,“Interval”改為300。雙擊Timer控件在它的過程中,添加代碼后如下:

Private Sub Timer1_Timer()

DataFromComLast = DataFromCom

Randomize

DataFromCom = 3000 * Rnd

TimeCount = TimeCount + 1

DrawRealLine Pic, TimeCount, DataFromCom, DataFromComLast

End Sub

這樣在運行后就可以看到我們想要的實時曲線了,如下圖:

圖 2

下面是完整的代碼:

Option Explicit

Dim DataFromCom As Integer '從串口讀過來的實時值

Dim DataFromComLast As Integer '上次的串口值

Dim TimeCount As Integer

Private Sub Form_Load()

PicScale Pic '調(diào)整圖像框的坐標系

PicMidleLine Pic '在圖像框中畫一條中線

End Sub

Private Sub PicScale(picX As PictureBox) '調(diào)整圖像框的坐標系

picX.Scale (0, picX.ScaleHeight)-(picX.ScaleWidth, -picX.ScaleHeight)

End Sub

Private Sub PicMidleLine(picX As PictureBox) '在圖像框中畫一條中線

picX.Line (0, 0)-(picX.ScaleWidth, 0), vbGreen '畫出中線

End Sub

Private Sub DrawRealLine(picX As PictureBox, TimeCountX As Integer, DataFromComX As Integer, DataFromComLastX As Integer)

If TimeCountX - 1 0 Then

picX.Line ((TimeCountX - 1) * 10, DataFromComLastX)-(TimeCountX * 10, DataFromComX), vbWhite

End If

End Sub

Private Sub Timer1_Timer()

DataFromComLast = DataFromCom

Randomize

DataFromCom = 3000 * Rnd

TimeCount = TimeCount + 1

DrawRealLine Pic, TimeCount, DataFromCom, DataFromComLast '畫出實時的曲線

End Sub


標題名稱:vb.net繪制曲線圖 vb實時曲線繪制
URL地址:http://weahome.cn/article/hhsjod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部