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

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

包含vb.net曲線平滑處理的詞條

vb.net繪制曲線圖

。net ?其實(shí)還是很好繪制圖形的

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比廣昌網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式廣昌網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋廣昌地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

你可以看下?Graphics ?類

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

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

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

線 就是 ??g.DrawLine()

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

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

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

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中畫平滑曲線的問(wèn)題

先分析你的曲線特征,然后選擇合適的函數(shù)進(jìn)行擬合。

實(shí)現(xiàn)曲線擬合的方法大致可以分為兩大類:

1.插值法,給定一組精確的離散數(shù)據(jù)點(diǎn),構(gòu)造一個(gè)函數(shù),使其嚴(yán)格依次通過(guò)每個(gè)數(shù)據(jù)點(diǎn),滿足光滑的要求。常用的而又多項(xiàng)式插值,拋物樣條曲線和三次樣條曲線等。

2.逼近法,給定一組具有誤差的離散數(shù)據(jù)點(diǎn),構(gòu)造一個(gè)函數(shù),使其整體上接近這些數(shù)據(jù)點(diǎn),而不必點(diǎn)點(diǎn)通過(guò)他們。常用的逼近法有最小二乘法,B樣條曲線等

看你的曲線要求選擇,找到合適的函數(shù)曲線自然就光滑了

VB.net 高次曲線擬合并繪圖

構(gòu)造Pen的時(shí)候可以指定粗細(xì),如果你指定為1,并且放大了10倍,最后就成10了,所以你指定小點(diǎn)就行了,比如 Dim p As New Pen(Color.Black, 0.01) 最終繪制的線的粗細(xì)不會(huì)小于1

vb中樣條曲線問(wèn)題

不引用的話,VB做不到。這事情要看VB的版本。如果是6.0的話,要去網(wǎng)上下載GDIPLUS的庫(kù)文件或者自己聲明GDI+的API。如果是VB.NET的話,VB自帶GDI+,但是也可以下載GDIPLUS庫(kù)來(lái)用。如果不知道去哪里下載,我下載有,你可以問(wèn)我要。我使用VB6.0。下載gdiplus以后,在VB里面引用這個(gè)庫(kù),注意要選擇“所有文件”才能看到這個(gè)庫(kù)。gdi+里面的path功能可以實(shí)現(xiàn)樣條:Private

TOKEN

As

Long'GDI+對(duì)象

Private

Graphics

As

Long'畫板

Private

Sub

InitGDIPlus()

'初始化GDI+

Dim

uInput

As

GdiplusStartupInput

uInput.GdiplusVersion

=

1

If

GdiplusStartup(TOKEN,

uInput)

Ok

Then

'初始化錯(cuò)誤

MsgBox

"GDI+

初始化錯(cuò)誤。程序即將關(guān)閉。",

vbCritical,

"InitError"

End

End

If

GdipCreateFromHDC

Me.hDC,

Graphics'創(chuàng)建畫板

GdipSetSmoothingMode

Graphics,

SmoothingModeAntiAlias'設(shè)置為反鋸齒

End

SubPrivate

Sub

TerminateGDIPlus()

GdipDeleteGraphics

Graphics

'釋放graphics占用的內(nèi)存

GdiplusShutdown

TOKEN

'關(guān)閉GDI+

End

SubPrivate

Sub

Form_Load()

InitGDIPlus

'初始化End

SubPrivate

Sub

Command1_Click()

Dim

path

As

Long

Dim

m(3)

As

POINTF

'以下是坐標(biāo),你可以自由改變

m(0).x

=

m(0).y

=

m(1).x

=

10

m(1).y

=

100

m(2).x

=

20

m(2).y

=

3

m(3).x

=

500

m(3).y

=

100

Dim

pen

As

Long

GdipCreatePen1

HFF000000,

2,

UnitPixel,

pen

'創(chuàng)建畫筆,用來(lái)畫出樣條

GdipCreatePath

FillModeAlternate,

path

'創(chuàng)建path

GdipAddPathBeziers

path,

m(0),

4

'創(chuàng)建樣條'Count是說(shuō)坐標(biāo)的個(gè)數(shù),points只能傳遞數(shù)組的第一個(gè)元素,不能傳遞數(shù)組。

GdipDrawPath

Graphics,

pen,

path

'畫出樣條

GdipDeletePen

pen

'刪除畫筆

GdipDeletePath

path

'刪除樣條End

SubPrivate

Sub

Form_Unload(Cancel

As

Integer)

TerminateGDIPlus

'刪除GDI+

End

Sub

如何對(duì)這個(gè)曲線進(jìn)行平滑處理

可以使用移動(dòng)平均法,對(duì)前n個(gè)數(shù)求和取平均賦給下一個(gè)數(shù),依次移動(dòng)直到數(shù)據(jù)末尾,最后形成一新的數(shù)組z,最后plot(x,z)就行了,不過(guò)要注意n的取值要合適,推薦先取5-10之間的數(shù)吧。


網(wǎng)站欄目:包含vb.net曲線平滑處理的詞條
文章出自:http://weahome.cn/article/phpiid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部