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

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

vb.netgraph的簡單介紹

vb.net 畫直線問題

'把“Dim graph As Graphics = Me.CreateGraphics”挪到“Button1_Click”事件內(nèi),調(diào)試過成功!

10年積累的做網(wǎng)站、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有歷城免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim graph As Graphics = Me.CreateGraphics

Dim pen2 As Pen = New Pen(Color.Green, 3)

graph.DrawLine(pen2, 400, 400, 500, 200)

End Sub

End Class

VB中,將從下位機讀取的數(shù)據(jù),用控件的方式畫出以時間為橫軸的曲線

1.用picturebox 控件可以實現(xiàn)

2.可以使用Scale方法移動坐標(biāo)原始位置和改變坐標(biāo)軸方向,以下該方法:

Scale(x1,y1)-(x2,y2)

X1和y1為對象左上角的新坐標(biāo)位置;

X2和y2為對象右下角的新坐標(biāo)位置;

現(xiàn)在讓我們看看一些范例。這一方法將使原點處于左上角,但將坐標(biāo)系統(tǒng)單位改變?yōu)榇绑w大小的1/100:

Picture1.Scale(0,0)-(100,100)

以下調(diào)用將移動原點到窗體的左下角,并旋轉(zhuǎn)Y軸:

Picture1.Scale(0,100)-(100, 0)

以下調(diào)用將移動原點到窗體的正中心,并旋轉(zhuǎn)Y軸,然后將坐標(biāo)單位轉(zhuǎn)換為窗體大小的1/5000:

Picture1.Scale(-2500,2500)-(2500,2500)

用Picture1.Line (x1,y1)-(x2,y2)

如果不指定(x1,y1)則line方法默認(rèn)為上次line方法的(x2,y2)為當(dāng)前l(fā)ine方法(x1,y1)

For i = 1 To 100

j = i + 10

Me.Picture1.Line -(i, j), vbRed '可以指定畫線的顏色

Next

3.如果畫到最右邊的時候,可以清掉picturebox 的內(nèi)容,從頭再畫。

給段代碼,供參考:

Private Sub Form_Load()

Dim i, j As Integer

Me.Picture1.Scale (0, Me.Picture1.Height)-(Me.Picture1.Width, 0)

Me.Picture1.AutoRedraw = True

Me.Picture1.Line (0, 0)-(0, 0), vbRed

For i = 1 To 1000

j = i + 10

Me.Picture1.Line -(i, j), vbRed

Next

End Sub

我這樣畫過曲線,大概思路就是這樣吧,希望能幫到你

vb.net 畫線再畫保留以前畫得

可以把所有畫的線都保存在一個列表中,畫的時候全部畫出即可。如下:

Public?Class?Form1

Class?Line? ? ? '直線類

? Public?Point1,?Point2?As?Point? ? ?'成員,直線的兩個端點

? Sub?New(p1?As?Point,?p2?As?Point)? ?'構(gòu)造方法

? ? ? Point1?=?p1

? ? ? Point2?=?p2

? End?Sub

? Public?Sub?Draw(g?As?Graphics)? ? ? '繪制方法

? ? ? g.DrawLine(Pens.Black,?Point1,?Point2)

? End?Sub

End?Class

Private?Lines?As?New?List(Of?Line)? ? ? '列表用于保存所有畫下的直線

Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load

? BackColor?=?Color.White

? DoubleBuffered?=?True? ? ? ?'開啟雙緩沖可有效避免閃爍

End?Sub

Private?Sub?Form1_MouseDown(sender?As?Object,?e?As?MouseEventArgs)?Handles?Me.MouseDown

? Lines.Add(New?Line(e.Location,?e.Location))? ? ?'在直線列表中添加直線

End?Sub

Private?Sub?Form1_MouseMove(sender?As?Object,?e?As?MouseEventArgs)?Handles?Me.MouseMove

? If?e.Button??Windows.Forms.MouseButtons.Left?Then?Return?'左鍵未按下

? '鼠標(biāo)拖動時改變列表最后一條直線(也即當(dāng)前直線的第二個端點)

? Lines(Lines.Count?-?1).Point2?=?e.Location

? Refresh()? ? ? ?'刷新窗體

End?Sub

'在Form的Paint事件中繪制所有直線,每次Form1重繪時都會觸發(fā)Paint事件

'PS:?也可以通過重寫OnPaint方法來達(dá)到類似的效果

Private?Sub?Form1_Paint(sender?As?Object,?e?As?PaintEventArgs)?Handles?Me.Paint

? e.Graphics.SmoothingMode?=?Drawing2D.SmoothingMode.AntiAlias? ? '開啟抗鋸齒

? For?Each?l?In?Lines? ? ?'遍歷所有直線

? ? ? l.Draw(e.Graphics)? '調(diào)用繪制方法,傳入的參數(shù)可以理解為畫布

? Next

End?Sub

End?Class

運行效果:

vb.net中,我用picturebox控件畫曲線。使用picturebox.CreateGraphics()畫線,請教保存問題??

首先你要建一個 Bitmap

再將picture控件的image屬性與之相關(guān)聯(lián)

再到 picture的image上畫線

保存image到文件

/////////////////////////////////

Dim mybitmap As Bitmap

mybitmap = New Bitmap(300, 150)

PictureBox0.Image = mybitmap

Dim Graph As Graphics

Graph =Graphics.FromImage(PictureBox0.image)

Graph .drawline(Pens.Blue,0,0,111,111)

picturebox0.image.save("c:\aaa.jpg")

/////////////////////////////////////

存成的文件絕對有你畫的線..我一直在用這種方法


分享文章:vb.netgraph的簡單介紹
文章轉(zhuǎn)載:http://weahome.cn/article/dsgdoei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部