下面的例子通過重載Form 窗體的OnPaint()方法繪制GDI圖形Protected Overrides Sub onpaint(ByVal e As System Windows Forms PaintEventArgs)注釋 /////////////繪制任意直線Dim g As Graphics = e GraphicsDim mypen As Pen = New Pen(Color Red )g DrawLine(mypen )注釋 /////////////繪制矩形(任意直線構成的封閉圖形)Dim point As PointF = New PointF( F F)Dim point As PointF = New PointF( F F)Dim point As PointF = New PointF( F F)Dim point As PointF = New PointF( F F)Dim curvepoints As PointF() = {point point point point }g DrawPolygon(New Pen(Color Blue ) curvepoints)注釋 ////////////文本表示Dim FFamily As FontFamily = New FontFamily( Arial )Dim font As Font = New Font(FFamily FontStyle Bold FontStyle Italic GraphicsUnit Pixel)Dim text As String = I love you! Dim solidbrush As SolidBrush = New SolidBrush(Color Red)Dim pr As PointF = New PointF( )e Graphics DrawString(text font solidbrush pr)注釋 ////////////平面繪制Dim rec As RectangleF = New RectangleF( )g DrawPie(mypen rec )注釋 ///////////封閉圖形 應該是個圓g DrawClosedCurve(mypen curvepoints Drawing Drawing D FillMode Alternate)注釋 ///////////大家自己試試看吧g DrawArc(mypen )g DrawCurve(mypen curvepoints)g DrawBezier(mypen )g DrawBeziers(mypen curvepoints)注釋 //////////這可是一個圓Dim rec As RectangleF = New RectangleF( )g DrawEllipse(mypen rec )注釋 //////////這是一個橢圓Dim rec As RectangleF = New RectangleF( )g DrawEllipse(mypen rec )End Sub 這些是我自己試驗出來的 當然了 還有好多 我只是開了一個頭 大家要是發(fā)現(xiàn)什么好東東 別忘了通知一下 ) lishixinzhi/Article/program/net/201311/11800
為北海街道等地區(qū)用戶提供了全套網頁設計制作服務,及北海街道網站建設行業(yè)解決方案。主營業(yè)務為成都做網站、成都網站設計、北海街道網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
一、分析:
1,這一類隨時間而變化的曲線圖,通常把橫軸作為時間,把縱軸作為相應的值,在這里就是密度值。
2,點的集合就是線;一組時間、密度值,對應一個點,把點連接起來就構成了線。
二、在VB.NET中作圖,需要知道并解決幾個問題:
1,與VB6一樣,VB.NET中默認的坐標系統(tǒng),左上角為坐標原點,X軸的正向為從左向右,Y軸的正向是從上向下。
為了使得它與數(shù)學中的坐標系統(tǒng)相一致,可以使用VB.NET中Graphics類的兩個方法;
1、TranslateTransform----平移變換
格式:Graphics.TranslateTransform(dx,dy)
其中:dx 和 dy分別是Single數(shù)據類型
2、ScaleTransform----縮放變換
格式:Graphics.ScaleTransform(sx,sy)
其中:sx 和 sy分別是Single數(shù)據類型;
例如:為了符合數(shù)學中的一般格式,可以使用下述代碼:
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)
'繪制一個實心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃的矩形區(qū)域內
MyGraphics.FillEllipse(Brush, 200, 200, 100, 100)
'繪制一個空心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃的矩形區(qū)域內
MyGraphics.DrawEllipse(Pen, 200, 200, 100, 100)
注意:最后兩個數(shù)值如果不等,就是繪制橢圓
當圓足夠小,就是點了。
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)
button , OpenFileDialog , PictureBox , textbox 控件,我把圖片顯示在 picturebox 中,而路
徑存放在 textbox 中,不知道這樣行不行。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim filename As String
OpenFileDialog1.Filter = "jpg files (*.jpg)|*.jpg"
OpenFileDialog1.FilterIndex = 1
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
filename = OpenFileDialog1.FileName
Else
End
End If
If Not (PictureBox1.Image Is Nothing) Then
PictureBox1.Image.Dispose()
PictureBox1.Image = Nothing
End If
'PictureBox1.Image = System.Drawing.Image.FromFile(filename)
去掉注釋后就顯示圖片
TextBox1.Text = filename
End Sub
picturebox中只記錄文件存放的路徑,我找了一個 ImageLocation 函數(shù)
PictureBox1.ImageLocation = filename 不過還是會顯示圖片