论文部分内容阅读
摘要:利用VB的图形处理功能,实现在程序中利用图形控件实现所需功能,达到所见即所得的用户界面效果,结合数据库的强大信息存储功能,本文主要从滚动的图形风光、中间数据库的建立、电子地图的实现、图形的局部放大与缩小等几个方面介绍VB图形控件的另类应用。
关键字:VB;ACCESS;滚动图形;地图仿真;图形局部放大缩小
一、 前言
随着计算机的不断推广与普及,计算机的开发与应用已深入到社会的各个领域,计算机的开发语言也越来越丰富,从低级语言到高级语言,直到现在的面向对象的可视话开发语言,如DELPHI、VISUAL BASIC、VISUAL C、POWERBUILDER等,使计算机的实际应用能力更加强大,操作趋于简单化,界面越来越人性化。其中,最基本的语言当属VISUAL BASIC,它不但有良好的开发环境,而且系统提供了大量可视化控件供用户使用,而且在开发中可以引用第三方工具包。在此对这些我们不做过多的描述,我们下面主要来介绍一下利用VB图形控件实现的特殊功能,如滚动的图片实现旅游风光、单位信息等的介绍,结合所需图形实现类似看地图,点击到哪里,就能将其相关信息快速而准确地呈现出来,实现类似目前流行的地理信息系统的仿真功能。利用它不但可以开发出图文并茂的程序,而且根据需要可以安装到触摸屏上,放置到旅游景点的入口、单位的接待大厅等公共场所,实现所需的宣传功能。
二、应用举例
2.1 滚动的图形风光介绍
主要是利用VB中的图形控件Image来完成的,Image控件具有自动缩放所显示的图形的功能,Image具有Stretch属性,Stretch属性设为False(缺省值)时,Image控件可根据图片调整自身的大小,将Stretch属性设为True时,将根据Image控件的大小来缩放图片的大小,显示出图片的全部内容(这可能使显示出来的图片变形)。在本例中,首先建立Image的控件数组,让他们依次排开,利用定时器TIMER完成每隔10毫秒将所有的图形控件左移一定位置,随时判断最左边的图形控件是否已完全超出屏幕左边界,若是,则将其移至所有图形控见的最后,并调用函数LoadPicture更换新的图形,依此类推,这样就实现了动态图形的滚动显示效果(见图1),如果再编写相应的脚本可实现点击暂停,显示图片介绍等类似功能,下附定时器脚本。
2.2 实现图形与数据库联动的导航效果
2.2.1后台数据库的准备工作
后台数据库可采用ACCESS、SQL SERVER、ORACLE、SYBASE等,这些数据库的选择完全可根据存放数据量的需求、个人某种对数据库的熟悉程度进行选择。其中建立一个中间表,用于存放图形上的不同位置编码、数据库中的数据信息分类、数据关键字、数据描述等相关的信息,用于实现点击不同的图形位置进行数据检索,到数据库中检索出相应的数据,实现各种需要的操作。
2.2.2图形的导航功能实现
对于仿真地图的点击查看局部详情,主要是利用VB中的控件PictureBox和Image来完成的,首先让我们认识以下二者各自的特点。
① Image控件与PictureBox控件相似,但它只用于显示图片,不能作为其它控件的容器,也不支持PictureBox的高级方法。
② Image控件调整大小的行为与PictureBox不同,Image具有Stretch属性,而PictureBox具有AutoSize属性。将AutoSize 属性设为True可使PictureBox根据图片自动调整本身的大小,设为False则图片将被剪切(只有一部分图片可见);Stretch属性设为False(缺省值)时,Image控件可根据图片调整自身的大小,将Stretch属性设为True时,将根据Image控件的大小来缩放图片的大小,显示出图片的全部内容,这可能使显示出来的图片变形。
在本系统中主要是利用PictureBox的容器功能,首先本身用于显示一幅导航图片,然后在其中建立Image的控件数组,根据导航的需要,为PictureBox中所显图片每一个要点击的区域建立一个透明的Image,并在其TAG属性项中存入与数据库中对应的唯一值。最后为Image的控件数组编写统一的单机事件脚本,事件脚本中根据返回的索引值判断出所点击Image控件,然后读取其TAG属性项中的唯一标志值,再在数据库中搜索相应的对应数据加以处理,根据不同的需要完成所需的导航操作,热区点击的举例脚本如下:
‘根据Image1(Index).Tag值编写相关的程序完成所需功能即可
‘本例中是根据相应TAG值调用搜索数据库函数LS_DIMING显示返回值
Text1.Text = LS_DIMING(Image1(Index).Tag)
End Sub
下图即为设计界面的部分截图(如图2),其中虚框部分即为不同IMAGE控件,正常状态下为透明的,当被点击后变为凹入显示。
2.3仿真地图的局部放大、局部缩小功能
利用VB中的控件也同样可以实现仿真地图的移动、局部放大、局部缩小功能,主要是借助控件PictureBox、Image和PictureClip来完成的。对图像进行局部放大或其它处理操作,在VB中提供了一个非常实用的图像处理控件PictureClip(功能包含于文件PICCLP32.OCX文件中,可利用[工程]—[部件]—[控件]进行添加该控件),利用此控件可以方便的完成图像的局部放大或缩小操作。PictureClip控件的功能就是对一个原始位图进行剪裁,根据用户的需要随机剪裁,首先确定剪裁的起点,再确定需要剪裁的横向与纵向尺寸,原始固定区域内的图像即剪裁为一可访问的图像,然后将其按所需比例设置,在相应IMAGE控件中显示即可,其中涉及的属性与工作原理如下:
PictureClip1.ClipX:指定剪裁的横向起点坐标;
PictureClip1.ClipY:指定剪裁的纵向起点坐标;
PictureClip1.ClipHeight:指定剪裁的横向长度;
PictureClip1.ClipWidth:指定剪裁的纵向长度;
PictureClip1.Clip:访问被剪裁的图形;
还有两个重要的属性,即StretchX和StretchY,此属性指定被剪裁目标的图像的大小,当此值与原始位图尺寸不相同时,将引起剪裁图像的放大或缩小,这就是利用此控件进行图像局部放大或缩小的原理;
本例中有控件Picture1存放原始图形(不显示),控件PictureClip1用于放大或缩小图片用,控件Picture2显示图象的容器,控件liulan(image类型,Stretch属性设为False)包含于Picture2中,主要用于显示放大(如图4)或缩小(如图3)后的图象,效果如图3所示。
三、结束语
本文只是起到了一个抛砖引玉的作用,只要利用好PictureBox、Image和PictureClip等图形控件,再加上你的编程技巧,就可以轻松实现图形的导航功能和类似查看地图一样的连动操作,再结合后台强大的数据库功能,将会使你的系统更加界面友好,操作便捷。
参考文献:
[1]马九荣《Visual Basic 6.0 开发宝典》机械工业出版社
[2]冯昊《Visual Basic 5.0/6.0 程序设计与上机指导 》 清华大学出版社
[3]龚沛曾等《Visual Basic程序设计教程》高等教育出版社
[4]吕静骅、史进等译《SQL SERVER 2000基础教程》 清华大学出版社
[5]萨师煊、王珊编《数据库系统概论》 高等教育出版社
关键字:VB;ACCESS;滚动图形;地图仿真;图形局部放大缩小
一、 前言
随着计算机的不断推广与普及,计算机的开发与应用已深入到社会的各个领域,计算机的开发语言也越来越丰富,从低级语言到高级语言,直到现在的面向对象的可视话开发语言,如DELPHI、VISUAL BASIC、VISUAL C、POWERBUILDER等,使计算机的实际应用能力更加强大,操作趋于简单化,界面越来越人性化。其中,最基本的语言当属VISUAL BASIC,它不但有良好的开发环境,而且系统提供了大量可视化控件供用户使用,而且在开发中可以引用第三方工具包。在此对这些我们不做过多的描述,我们下面主要来介绍一下利用VB图形控件实现的特殊功能,如滚动的图片实现旅游风光、单位信息等的介绍,结合所需图形实现类似看地图,点击到哪里,就能将其相关信息快速而准确地呈现出来,实现类似目前流行的地理信息系统的仿真功能。利用它不但可以开发出图文并茂的程序,而且根据需要可以安装到触摸屏上,放置到旅游景点的入口、单位的接待大厅等公共场所,实现所需的宣传功能。
二、应用举例
2.1 滚动的图形风光介绍
主要是利用VB中的图形控件Image来完成的,Image控件具有自动缩放所显示的图形的功能,Image具有Stretch属性,Stretch属性设为False(缺省值)时,Image控件可根据图片调整自身的大小,将Stretch属性设为True时,将根据Image控件的大小来缩放图片的大小,显示出图片的全部内容(这可能使显示出来的图片变形)。在本例中,首先建立Image的控件数组,让他们依次排开,利用定时器TIMER完成每隔10毫秒将所有的图形控件左移一定位置,随时判断最左边的图形控件是否已完全超出屏幕左边界,若是,则将其移至所有图形控见的最后,并调用函数LoadPicture更换新的图形,依此类推,这样就实现了动态图形的滚动显示效果(见图1),如果再编写相应的脚本可实现点击暂停,显示图片介绍等类似功能,下附定时器脚本。
2.2 实现图形与数据库联动的导航效果
2.2.1后台数据库的准备工作
后台数据库可采用ACCESS、SQL SERVER、ORACLE、SYBASE等,这些数据库的选择完全可根据存放数据量的需求、个人某种对数据库的熟悉程度进行选择。其中建立一个中间表,用于存放图形上的不同位置编码、数据库中的数据信息分类、数据关键字、数据描述等相关的信息,用于实现点击不同的图形位置进行数据检索,到数据库中检索出相应的数据,实现各种需要的操作。
2.2.2图形的导航功能实现
对于仿真地图的点击查看局部详情,主要是利用VB中的控件PictureBox和Image来完成的,首先让我们认识以下二者各自的特点。
① Image控件与PictureBox控件相似,但它只用于显示图片,不能作为其它控件的容器,也不支持PictureBox的高级方法。
② Image控件调整大小的行为与PictureBox不同,Image具有Stretch属性,而PictureBox具有AutoSize属性。将AutoSize 属性设为True可使PictureBox根据图片自动调整本身的大小,设为False则图片将被剪切(只有一部分图片可见);Stretch属性设为False(缺省值)时,Image控件可根据图片调整自身的大小,将Stretch属性设为True时,将根据Image控件的大小来缩放图片的大小,显示出图片的全部内容,这可能使显示出来的图片变形。
在本系统中主要是利用PictureBox的容器功能,首先本身用于显示一幅导航图片,然后在其中建立Image的控件数组,根据导航的需要,为PictureBox中所显图片每一个要点击的区域建立一个透明的Image,并在其TAG属性项中存入与数据库中对应的唯一值。最后为Image的控件数组编写统一的单机事件脚本,事件脚本中根据返回的索引值判断出所点击Image控件,然后读取其TAG属性项中的唯一标志值,再在数据库中搜索相应的对应数据加以处理,根据不同的需要完成所需的导航操作,热区点击的举例脚本如下:
‘根据Image1(Index).Tag值编写相关的程序完成所需功能即可
‘本例中是根据相应TAG值调用搜索数据库函数LS_DIMING显示返回值
Text1.Text = LS_DIMING(Image1(Index).Tag)
End Sub
下图即为设计界面的部分截图(如图2),其中虚框部分即为不同IMAGE控件,正常状态下为透明的,当被点击后变为凹入显示。
2.3仿真地图的局部放大、局部缩小功能
利用VB中的控件也同样可以实现仿真地图的移动、局部放大、局部缩小功能,主要是借助控件PictureBox、Image和PictureClip来完成的。对图像进行局部放大或其它处理操作,在VB中提供了一个非常实用的图像处理控件PictureClip(功能包含于文件PICCLP32.OCX文件中,可利用[工程]—[部件]—[控件]进行添加该控件),利用此控件可以方便的完成图像的局部放大或缩小操作。PictureClip控件的功能就是对一个原始位图进行剪裁,根据用户的需要随机剪裁,首先确定剪裁的起点,再确定需要剪裁的横向与纵向尺寸,原始固定区域内的图像即剪裁为一可访问的图像,然后将其按所需比例设置,在相应IMAGE控件中显示即可,其中涉及的属性与工作原理如下:
PictureClip1.ClipX:指定剪裁的横向起点坐标;
PictureClip1.ClipY:指定剪裁的纵向起点坐标;
PictureClip1.ClipHeight:指定剪裁的横向长度;
PictureClip1.ClipWidth:指定剪裁的纵向长度;
PictureClip1.Clip:访问被剪裁的图形;
还有两个重要的属性,即StretchX和StretchY,此属性指定被剪裁目标的图像的大小,当此值与原始位图尺寸不相同时,将引起剪裁图像的放大或缩小,这就是利用此控件进行图像局部放大或缩小的原理;
本例中有控件Picture1存放原始图形(不显示),控件PictureClip1用于放大或缩小图片用,控件Picture2显示图象的容器,控件liulan(image类型,Stretch属性设为False)包含于Picture2中,主要用于显示放大(如图4)或缩小(如图3)后的图象,效果如图3所示。
三、结束语
本文只是起到了一个抛砖引玉的作用,只要利用好PictureBox、Image和PictureClip等图形控件,再加上你的编程技巧,就可以轻松实现图形的导航功能和类似查看地图一样的连动操作,再结合后台强大的数据库功能,将会使你的系统更加界面友好,操作便捷。
参考文献:
[1]马九荣《Visual Basic 6.0 开发宝典》机械工业出版社
[2]冯昊《Visual Basic 5.0/6.0 程序设计与上机指导 》 清华大学出版社
[3]龚沛曾等《Visual Basic程序设计教程》高等教育出版社
[4]吕静骅、史进等译《SQL SERVER 2000基础教程》 清华大学出版社
[5]萨师煊、王珊编《数据库系统概论》 高等教育出版社