计算机地图制图原理与方法实验报告

上传人:第*** 文档编号:31522323 上传时间:2018-02-08 格式:DOC 页数:5 大小:122KB
返回 下载 相关 举报
计算机地图制图原理与方法实验报告_第1页
第1页 / 共5页
计算机地图制图原理与方法实验报告_第2页
第2页 / 共5页
计算机地图制图原理与方法实验报告_第3页
第3页 / 共5页
计算机地图制图原理与方法实验报告_第4页
第4页 / 共5页
计算机地图制图原理与方法实验报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机地图制图原理与方法实验报告》由会员分享,可在线阅读,更多相关《计算机地图制图原理与方法实验报告(5页珍藏版)》请在金锄头文库上搜索。

1、Windows 绘图一、实验目的:了解 windows绘图的一般过程;增强对课本基本原理的理解;以 vc+为主,学习高级语言图形编程技术二、实验过程:该实验采用 visual basic作为编程语言,首先根据 VB的特性制定一下的整体思路:主要实现曲线、圆、点、直线等图形的绘制,利用鼠标的mousemove、mousedown 、mouseup 三个事件,分情况进行处理,以此实现对不同选项的响应。界面如下:主要代码:Dim ljs As Integer 必须定义为全局变量Dim drawstate As Boolean 定义画笔状态,左键按下为有效Dim prex As Single 坐标初始

2、值,在左键按下后记录Dim prey As Single 坐标初始值,在左键按下后记录Private Sub Combo1_Change()Picture1.DrawWidth = Val(Combo1)End SubPrivate Sub Command1_Click()ljs = 1Label4.Caption = 温馨提示:请拖动鼠标左键绘制曲线,右键单击取消该操作lineEnd SubPrivate Sub Command2_Click()ljs = 2Label4.Caption = 温馨提示:单击鼠标左键确定圆心,拖动直至松开鼠标左键,右键单击取消该操作circleEnd SubP

3、rivate Sub Command3_Click()ljs = 3Label4.Caption = 温馨提示,单击鼠标左键即可pointEnd SubPrivate Sub Command4_Click()ljs = 4lineLabel4.Caption = 温馨提示:按住鼠标左键,拖动直至松开鼠标左键End SubPrivate Sub Command5_Click()Form2.ShowForm1.Visible = TrueEnd SubPrivate Sub Command6_Click()ljs = 6Label4.Caption = 注记,输入文字后,按鼠标左键确定位置Char

4、 = InputBox(请输入注记文字 , 注记, surveying)End SubPrivate Sub Form_Load()Text1 = Text2 = Label4.Caption = 欢迎使用本绘图程序,请根据提示进行操作End Sub以下为三个鼠标事件,针对前面的选项依次处理Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)分选项进行讨论If ljs = 1 ThenIf Button = 1 ThenPicture1.DrawWidth =

5、1drawstate = True 此处做一个标记prex = Xprey = YEnd IfIf Button = 2 Thenljs = 0 鼠标右键终止当前画笔End If End IfIf ljs = 2 ThenIf Button = 1 Thendrawstate = True 此处做一个标记prex = Xprey = YEnd IfIf Button = 2 Thenljs = 0 鼠标右键终止当前画笔End IfEnd IfIf ljs = 3 ThenIf Button = 1 Then Picture1.DrawWidth = 5 drawwidth 是全局属性Pictu

6、re1.PSet (X, Y)End IfIf Button = 2 Thenljs = 0End IfEnd IfIf ljs = 4 ThenIf Button = 1 Thenprex = Xprey = YEnd IfEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Text1 = XText2 = Y显示当前坐标If ljs = 1 ThenIf drawstate = True ThenPicture1.DrawWidth

7、 = 1Picture1.Line (prex, prey)-(X, Y) 指定在 picture1 中操作prex = Xprey = YEnd IfEnd If:End SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If ljs = 1 ThenIf Button = 1 Thendrawstate = FalseEnd IfEnd IfIf ljs = 2 ThenPicture1.DrawWidth = 1Dim r As SingleIf Bu

8、tton = 1 Thendrawstate = FalseEnd Ifr = Sqr(X - prex) * (X - prex) + (Y - prey) * (Y - prey)Picture1.Circle (prex, prey), rEnd IfIf ljs = 4 ThenPicture1.DrawWidth = 1If Button = 1 ThenPicture1.Line (prex, prey)-(X, Y)End IfEnd IfEnd Sub签名代码Private Sub Command1_Click()Form2.ShowForm3.Visible = FalseE

9、nd SubPrivate Sub Command2_Click()Dim i As IntegerPicture1.Scale (0, 0)-(31, 31)For i = 1 To 30Picture1.Line (i, 0)-(i, 41)Picture1.Line (0, i)-(31, i)Next iCommand3.Enabled = TrueEnd SubPrivate Sub Command3_Click()Dim i As IntegerDim j As IntegerPicture1.DrawWidth = 1For i = 1 To 30For j = 1 To 30P

10、icture1.Circle (i, j), 0.2 必须指明对 picture进行操作,默认是 form Next jNext iCommand4.Enabled = TrueEnd SubPrivate Sub Command4_Click()Label2.Caption = 李继尚个人签名Picture1.DrawWidth = 5 可通过禁止该按钮的使用防止字体过大Dim i As IntegerFor i = 2 To 9Picture1.PSet (i, 3), vbBlue 点的颜色Next iFor i = 2 To 6Picture1.PSet (6, i), vbBlueN

11、ext iFor i = 4 To 8Picture1.PSet (i, 6), vbBlueNext iPicture1.PSet (5, 4), vbBluePicture1.PSet (4, 5), vbBluePicture1.PSet (3, 6), vbBluePicture1.PSet (7, 4), vbBluePicture1.PSet (8, 5), vbBluePicture1.PSet (9, 6), vbBluePicture1.PSet (7, 7), vbBlueFor i = 8 To 11Picture1.PSet (6, i), vbBlueNext iFo

12、r i = 3 To 9Picture1.PSet (i, 9), vbBlueNext iFor i = 3 To 10Picture1.PSet (14, i), vbBlueNext iFor i = 11 To 13Picture1.PSet (i, 6), vbBlueNext iPicture1.PSet (13, 3), vbBluePicture1.PSet (13, 4), vbBlueFor i = 11 To 13Picture1.PSet (i, 8), vbBlueNext iPicture1.PSet (12, 7), vbBluePicture1.PSet (12

13、, 9), vbBluePicture1.PSet (11, 10), vbBluePicture1.PSet (12, 5), vbBlueFor i = 15 To 19Picture1.PSet (i, 6), vbBlueNext iFor i = 3 To 9Picture1.PSet (17, i), vbBlueNext iPicture1.PSet (15, 4), vbBluePicture1.PSet (16, 5), vbBluePicture1.PSet (19, 4), vbBluePicture1.PSet (18, 5), vbBluePicture1.PSet

14、(16, 7), vbBluePicture1.PSet (15, 8), vbBluePicture1.PSet (18, 7), vbBluePicture1.PSet (19, 8), vbBlueFor i = 14 To 19Picture1.PSet (i, 10), vbBlueNext iFor i = 5 To 10Picture1.PSet (23, i), vbBlueNext iPicture1.PSet (24, 4), vbBluePicture1.PSet (23, 3), vbBluePicture1.PSet (26, 4), vbBluePicture1.P

15、Set (27, 3), vbBluePicture1.PSet (23, 5), vbBluePicture1.PSet (23, 10), vbBlueFor i = 5 To 10Picture1.PSet (28, i), vbBlueNext iPicture1.PSet (27, 9), vbBlueFor i = 23 To 28Picture1.PSet (i, 5), vbBlueNext iFor i = 2 To 5Picture1.PSet (25, i), vbBlueNext iPicture1.PSet (25, 7), vbBluePicture1.PSet (

16、26, 7), vbBluePicture1.PSet (25, 8), vbBluePicture1.PSet (26, 8), vbBlueEnd SubPrivate Sub Form_Load()Text1 = Text2 = Command3.Enabled = FalseCommand4.Enabled = FalseLabel2.Caption = End SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Text1 = XText2 = YEnd Sub四、实验结果:五、实验体会:熟练运用 visual basic,编写了简单的绘图程序。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号