十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
不引用的话,VB做不到。这事情要看VB的版本。如果是6.0的话,要去网上下载GDIPLUS的库文件或者自己声明GDI+的API。如果是VB.NET的话,VB自带GDI+,但是也可以下载GDIPLUS库来用。如果不知道去哪里下载,我下载有,你可以问我要。我使用VB6.0。下载gdiplus以后,在VB里面引用这个库,注意要选择“所有文件”才能看到这个库。gdi+里面的path功能可以实现样条:Private TOKEN As Long'GDI+对象
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比上党网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式上党网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖上党地区。费用合理售后完善,十载实体公司更值得信赖。
Private Graphics As Long'画板
Private Sub InitGDIPlus()
'初始化GDI+
Dim uInput As GdiplusStartupInput
uInput.GdiplusVersion = 1
If GdiplusStartup(TOKEN, uInput) Ok Then
'初始化错误
MsgBox "GDI+ 初始化错误。程序即将关闭。", vbCritical, "InitError"
End
End If
GdipCreateFromHDC Me.hDC, Graphics'创建画板
GdipSetSmoothingMode Graphics, SmoothingModeAntiAlias'设置为反锯齿
End SubPrivate Sub TerminateGDIPlus()
GdipDeleteGraphics Graphics '释放graphics占用的内存
GdiplusShutdown TOKEN '关闭GDI+
End SubPrivate Sub Form_Load()
InitGDIPlus '初始化End SubPrivate Sub Command1_Click() Dim path As Long
Dim m(3) As POINTF '以下是坐标,你可以自由改变
m(0).x = 0
m(0).y = 0
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 '创建画笔,用来画出样条
GdipCreatePath FillModeAlternate, path '创建path
GdipAddPathBeziers path, m(0), 4 '创建样条'Count是说坐标的个数,points只能传递数组的第一个元素,不能传递数组。
GdipDrawPath Graphics, pen, path '画出样条
GdipDeletePen pen '删除画笔
GdipDeletePath path '删除样条End SubPrivate Sub Form_Unload(Cancel As Integer)
TerminateGDIPlus '删除GDI+
End Sub
。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)
复杂的就是 g.DrawBezier()
等 如果你用的是 VS的 编译 上面都有详细的参数说明
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
在VB5中生成统计图形
在用VB5进行数据库编程时,经常要生成统计图形。生成的方法有很多种,最
简单的是利用VB5提供的MSChart控件。具体操作方法如下:
1.首先在VB5“工程”→“部件”中找到“Microsoft Chart Control5.0”项,
选中并应用,此时在工具面板中出现MSChart控件图标。选中它并在新工程的Form1
中画一矩形,生成MSChart1,即出现缺省状态的直方图。设其ColumnCount属性为1。
2.利用Access或VB5的可视化数据管理器生成一个example.mdb的数据库,在其
中建一名为temp的数据表,包含“日期”和“数据”两个字段,并在表中输入一些
记录。
3.在Form1中生成一个Command1按钮,然后在Private Sub Command1_click()
中写入以下代码:
dim i as integer
dim NewDyn as recordset
dim OpenWs as Workspace
dim OpenDB as DataBase
set OpenWs=DBengine.Workspaces(0)
set OpenDB=OpenWs.Opendatabase(app.path & 〃\example.mdb〃)
set NetDyn=OpenDB.Openrecordset(〃select * from temp〃,dbOpenSnapShot)
NewDyn.MoveLast
NewDyn.Movefirst
If NewDyn.RecordCount=0 then
Msgbox〃请在数据库中输入数据!〃,vbCritical
Exit sub
End if
With MSChart1
.TitleText=〃直方图示例〃
.RowCount=NewDyn.ReordCount
For i=1 to NewDyn.RecordCount
.Row=i
.Data=NewDyn.Fields(〃数据〃)
.Rowlabel=NewDyn.Fields(〃日期〃)
NewDyn.MoveNext
Next i
End With
NewDyn.Close
4.运行时按Command1键即可生成统计图表了。
如果想生成其他类型的图形,修改MSChart1的属性即可定制成其他各种二维或三维
图表。
你可以通过用VB点虐 控制excel,让excel生成曲线图,然后利用excelVBA将图输出,最后导入到VB点虐 就可以了。