在picture控件中,画波形线.(在线等待)

renguangdong 2003-12-30 05:18:16
在picture控件中,画二行波形线,然后,在其中添加颜色。如何实现?
...全文
154 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
3661512 2004-01-03
  • 打赏
  • 举报
回复
用VB绘制正弦动画曲线

  VB提供了绘图的基本方法,如Pset、Line、Circle,能够绘出点、直线、圆等基本图形,但没有提供绘曲线的方法。其实,我们可以灵活运用基本绘图方法,来绘出所需要的曲线,甚至达到动画的效果。



  一、VB坐标系介绍
  VB里有三种坐标系,屏幕坐标系、窗体坐标系和窗体内的对象坐标系,这三种坐标系都是以其左上角为坐标原点,与平常使用的几何坐标系不一致,我们绘图时感到不习惯。VB允许编程人员自定义坐标系,根据需要定义坐标原点的位置。

  自定义坐标系的方法是Scale,语法格式:

  Scale (X1,Y1) - (X2,Y2)

  其中: X1是绘图区域左上角的横坐标;

  Y1是绘图区域左上角的纵坐标;

  X2是绘图区域右下角的横坐标;

  Y2是绘图区域右下角的纵坐标。

  例如:Scale (-320,240) - (320,-240) 定义了绘图区域大小为640×480,坐标原点(0,0)在绘图区域中心。



  二、绘制正弦动画曲线
  启动VB6,新建标准EXE工程,添加一个PictureBox控件,两个CommandButton控件到窗体,其Caption属性值分别设为正弦曲线和结束。如图1:


  图1

  双击Command1,打开代码编辑器窗口,相应事件的代码如下:

  通用声明模块:

  Const pi = 3.14159

  Dim a

  Private Sub Command1_Click() 注释:画正弦曲线

  注释:首先清除picture1内的图形

   Picture1.Cls

   注释:Scale方法设定用户坐标系,坐标原点在Picture1中心

   Picture1.ScaleMode = 0

   Picture1.ScaleMode = 3

   Picture1.Scale (-10, 10)- (10, -10)

   注释:设置绘线宽度

   Picture1.DrawWidth = 1

   注释:绘坐标系的X轴及箭头线

   Picture1.Line (-10, 0)-(10, 0), vbBlue

   Picture1.Line (9, 0.5)-(10, 0), vbBlue

   Picture1.Line -(9, -0.5), vbBlue

   Picture1.ForeColor = vbBlue

   Picture1.Print "X"

   注释:绘坐标系的Y轴及箭头线

   Picture1.Line (0, 10)-(0, -10), vbBlue

   Picture1.Line (0.5, 9)-(0, 10), vbBlue

   Picture1.Line -(-0.5, 9), vbBlue

   Picture1.Print "Y"

   注释:指定位置显示原点O

   Picture1.CurrentX = 0.5

   Picture1.CurrentY = -0.5

   Picture1.Print "O"

   注释:重设绘线宽度

   Picture1.DrawWidth = 2

   注释:用For循环绘点,使其按正弦规律变化。步长值很小,使其形成动画效果

   For a = -2 * pi To 2 * pi Step pi / 6000

   Picture1.PSet (a, Sin(a) * 5), vbRed

   Next

   注释:指定位置显示描述文字

   Picture1.CurrentX = pi / 2

   Picture1.CurrentY = -7

   Picture1.ForeColor = vbBlack

   Picture1.Print "正弦曲线示意"

  End Sub



busisoft 2004-01-03
  • 打赏
  • 举报
回复
楼上很清楚了
northwolves 2003-12-30
  • 打赏
  • 举报
回复
没看明白。
renguangdong 2003-12-30
  • 打赏
  • 举报
回复
我遇到最大问题,也可以这么说下:
就是在picture控件中,(y=kx)k大于0时的波形颜色填充与k小于0时的波形颜色填充?


小弟先谢谢各位了!
急 ~~~~

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧