vb.net圖形處理 vb程序設(shè)計圖形設(shè)計

vb.net讀取txt的數(shù)據(jù)作圖問題

一、分析:

雅安網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

1,這一類隨時間而變化的曲線圖,通常把橫軸作為時間,把縱軸作為相應(yīng)的值,在這里就是密度值。

2,點(diǎn)的集合就是線;一組時間、密度值,對應(yīng)一個點(diǎn),把點(diǎn)連接起來就構(gòu)成了線。

二、在VB.NET中作圖,需要知道并解決幾個問題:

1,與VB6一樣,VB.NET中默認(rèn)的坐標(biāo)系統(tǒng),左上角為坐標(biāo)原點(diǎn),X軸的正向?yàn)閺淖笙蛴遥琘軸的正向是從上向下。

為了使得它與數(shù)學(xué)中的坐標(biāo)系統(tǒng)相一致,可以使用VB.NET中Graphics類的兩個方法;

1、TranslateTransform----平移變換

格式:Graphics.TranslateTransform(dx,dy)

其中:dx 和 dy分別是Single數(shù)據(jù)類型

2、ScaleTransform----縮放變換

格式:Graphics.ScaleTransform(sx,sy)

其中:sx 和 sy分別是Single數(shù)據(jù)類型;

例如:為了符合數(shù)學(xué)中的一般格式,可以使用下述代碼:

Graphics.ScaleTransform(1, -1)

這樣就把Y軸的正方向給翻過來了。

三、VB.NET中繪制圖形

1,繪制圓或橢圓

'繪制圖形的三步曲

'1,獲得一個Graphics對象

Dim MyGraphics As Graphics

MyGraphics = Me.CreateGraphics

'2,定義一個Pen對象,用于繪制圖形(輪廓線)

Dim MyPen As New Pen(Color.Black)

'3,定義一個Brush對象,用于填充圖形(如果需要填充的話)

Dim MyBrush As New SolidBrush(Color.Orange)

'繪制一個實(shí)心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃的矩形區(qū)域內(nèi)

MyGraphics.FillEllipse(Brush, 200, 200, 100, 100)

'繪制一個空心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃的矩形區(qū)域內(nèi)

MyGraphics.DrawEllipse(Pen, 200, 200, 100, 100)

注意:最后兩個數(shù)值如果不等,就是繪制橢圓

當(dāng)圓足夠小,就是點(diǎn)了。

2,繪制直線

'1,獲得一個Graphics對象

Dim MyGraphics As Graphics

MyGraphics = Me.CreateGraphics

'2,定義一個Pen對象,用于繪制圖形(輪廓線)

Dim MyPen As New Pen(Color.Black)

MyGraphics.DrawLine(MyPen, 200, 200, 100, 100)

'或者直接用

Me.CreateGraphics.DrawLine(New Pen(Color.Black), 50, 50, 200, 200)

VB.net中如何畫圖?

VB.net與VB不同。

VB.net已經(jīng)有專門繪圖的類。

可以定義筆刷然后用Drawing類中的方法繪制。

Private Sub DrawEllipse()

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)

Dim formGraphics as System.Drawing.Graphics

formGraphics = Me.CreateGraphics()

formGraphics.DrawEllipse(myPen, New Rectangle(0,0,200,300))

myPen.Dispose()

formGraphics.Dispose()

End Sub

Private Sub DrawRectangle()

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)

Dim formGraphics as System.Drawing.Graphics

formGraphics = Me.CreateGraphics()

formGraphics.DrawRectangle(myPen, New Rectangle(0,0,200,300))

myPen.Dispose()

formGraphics.Dispose()

End Sub

Vb.net怎么實(shí)現(xiàn)圖像的處理

這問題有點(diǎn)籠統(tǒng),軟糖來說說把:

圖像處理由System.Drawing命名空間負(fù)責(zé)。

主要是Bitmap類和Graphics類。

Bitmap表示一個位圖,可以是BMP,JPG,PNG等文件。

裝載位圖

Dim?位圖?As?Bitmap?=?Bitmap.FromFile("C:\Image1.PNG")

Graphics表示一張畫紙,能夠進(jìn)行繪制操作。

它可以被窗體、控件、位圖調(diào)用CreateGraphics()方法來創(chuàng)建。

然后調(diào)用Graphics.Draw開頭的一系列函數(shù)來繪制圖像和圖形,F(xiàn)ill開頭的填充圖形。

創(chuàng)建畫紙并繪制位圖

Dim?畫紙?As?Graphics?=?Me.CreateGraphics()

畫紙.DrawImage(位圖,?100,?100,?256,?256)

可以將上面三行放到Form1_Load中測試,把路徑改一下,

還可以把Me改為能在上面繪圖的控件的名稱。

更多內(nèi)容請看MSDN的System.Drawing命名空間。

如滿意,請采納,謝謝。

在vb.net環(huán)境下圖像處理,用什么建立3D

首先,還是談?wù)剤D像像素時數(shù)據(jù)獲取方面吧,.net中的圖像相關(guān)類基本上都是基于GDI+的,因此,圖像數(shù)據(jù)的獲取其實(shí)也是調(diào)用GDI+的一些函數(shù)。這個函數(shù)就是LockBits,在vb.net中彩色圖像數(shù)據(jù)的快速獲取 一文中,我們是調(diào)用了Marshal.Copy把LockBits鎖定的內(nèi)存數(shù)據(jù)拷貝到數(shù)據(jù)中,然后對數(shù)組中的值進(jìn)行處理。這樣做主要的原因是VB.NET不好直接訪問內(nèi)存(Marshal.ReadByte之類的函數(shù)不適合用于大型的循環(huán)中)。那么,這就造成了2個不好的事情,第一:在同一時間需要2倍于圖像數(shù)據(jù)量的內(nèi)存,第二:內(nèi)存數(shù)據(jù)拷貝到數(shù)據(jù),以及處理后再把數(shù)組的數(shù)據(jù)拷貝會內(nèi)存中都是會減低速度的。作為一種改進(jìn),我們應(yīng)該充分利用LockBits的功能。LockBits中的LockMode中有一種模式為ImageLockMode.UserInputBuffer,該模式下需要用戶先申請內(nèi)存,然后在把圖像數(shù)據(jù)按照相關(guān)格式填充如這個內(nèi)存中。這樣,就可以先定義個數(shù)組,然后把圖像數(shù)據(jù)填充到這個數(shù)組中,就避免了來回拷貝的耗時了,簡單示例代碼如下:

Dim BmpData As New BitmapData

Stride = ((Bmp.Width * 3 + 3) And HFFFFFFFC)

Dim PixleValue(Stride * Bmp.Height) As Byte

Dim Hanlde As GCHandle = GCHandle.Alloc(PixleValue, GCHandleType.Pinned)

BmpData.Scan0 = Hanlde.AddrOfPinnedObject()

分享文章:vb.net圖形處理 vb程序設(shè)計圖形設(shè)計
文章地址:http://muchs.cn/article36/hjsipg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、微信公眾號、商城網(wǎng)站、品牌網(wǎng)站建設(shè)、搜索引擎優(yōu)化、企業(yè)建站

廣告

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

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