| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1727 人关注过本帖
标题:求助:由PictureBox绘制的曲线,怎样实现上下移动?
只看楼主 加入收藏
shinesun
Rank: 2
等 级:论坛游民
帖 子:72
专家分:10
注 册:2012-12-12
结帖率:95%
收藏
已结贴  问题点数:10 回复次数:6 
求助:由PictureBox绘制的曲线,怎样实现上下移动?
由PictureBox绘制的曲线,怎样实现上下移动?知道的帮忙回复下?
搜索更多相关主题的帖子: 曲线 
2012-12-12 15:56
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
怎么样的上下移动???

整体上下移动?还是局部上下移动?

1、整体上下移动。你绘制时是怎么绘制的?如果曲线不复杂的情况下,重新计算坐标,全部重新画过就是了。
  如果曲线不是很大时,可以使用 缓冲方式显示曲线,那么在显示时 重新定位就是了。

2、局部上下移动。
   重绘这个部分吧。

授人于鱼,不如授人于渔
早已停用QQ了
2012-12-12 19:47
shinesun
Rank: 2
等 级:论坛游民
帖 子:72
专家分:10
注 册:2012-12-12
收藏
得分:0 
我的问题主要有3个:
第1:如下图这样,怎样在一个PictureBox控件中,能画出两个曲线。每条曲线反映一个txt文件的数据。现在是第一条曲线绘制好后,再调用Plot绘制第2条时,第一条不存在了,只有第2条在!
第2:如下图这样同时存在两条曲线的,怎样实现任意一条可以上下移动。
未命名.rar (6.79 KB)

第3:本来想用在图层中,进行擦除和重绘来实现。由于刚接触Vb,还请高手指点一下!谢谢啦!

[ 本帖最后由 shinesun 于 2012-12-14 15:24 编辑 ]
2012-12-14 15:21
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:10 
第1:如下图这样,怎样在一个PictureBox控件中,能画出两个曲线。每条曲线反映一个txt文件的数据。现在是第一条曲线绘制好后,再调用Plot绘制第2条时,第一条不存在了,只有第2条在!
第2:如下图这样同时存在两条曲线的,怎样实现任意一条可以上下移动。
第3:本来想用在图层中,进行擦除和重绘来实现。

VB里不存在图层,但可以自己模拟图层。
1、Plot 什么函数?????不是标准的 VB 函数。
2、绘制一条曲线的流程是:绘制坐标系-》绘制曲线。一般都是封装在一个函数里。
3、需要在一个坐标系中绘制二条或以上曲线时,封装就不同了。
   绘制坐标系,封装成一个函数。绘制曲线,也封装也一个函数。使用时,先调用绘制坐标系函数。再使用带参数的方法调用绘制曲线函数,一般参数包括 点坐标(数组),颜色
4、优化:绘制曲线函数,需要一个参数:目标 PictureBox 对象。在窗体上有一个与 显示区域一样大小的隐藏 PictureBox 对象,在这个对象中 绘制坐标系。
   每次绘制第一条曲线时,从这个 对象中 复制坐标系。缓存坐标系图像。
5、你的第一个问题。按第3条进行操作,就应该不存在问题。
6、第二个问题。如果你按第3条操作,那么在绘制函数时,再多追加一个参数,这个参数就是指 Y 坐标的偏移量。那么当需要移动其中一条曲线时,重绘整个显示区域就可以实现了。
7、图层,本来就是 用于显示用的。当你使用第3条操作时,整个显示部分就相当于分了三层来显示。

授人于鱼,不如授人于渔
早已停用QQ了
2012-12-14 16:19
shinesun
Rank: 2
等 级:论坛游民
帖 子:72
专家分:10
注 册:2012-12-12
收藏
得分:0 
太佩服你了!看到你的回复,思路顿时清晰了很多!非常感谢!针对你的第3条,我有个疑问:我是想在相同的坐标系下绘制2条以上的曲线,封装为什么就不同了呢?绘制2条以上的曲线,不可以调用同一个坐标系函数吗?是绘制几条曲线就要把几个坐标系函数封装成一个函数吗?

[ 本帖最后由 shinesun 于 2012-12-17 09:16 编辑 ]
2012-12-17 08:58
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
画坐标系时,一般情况下都会调用 CLS 命令,在这种情况下,就会把前面画的内容 清除掉,造成只有最后内容显示出来。

授人于鱼,不如授人于渔
早已停用QQ了
2012-12-17 11:25
shinesun
Rank: 2
等 级:论坛游民
帖 子:72
专家分:10
注 册:2012-12-12
收藏
得分:0 
回复 6楼 风吹过b
我现在是定义了一个:sub过程plot,然后根据每个txt文件的数据,调用一次plot。在plot代码中,我已经注释掉了cls,为什么还是只能显示一条曲线呢!只能保留最新绘制的曲线?帮忙分析下,谢谢!
2012-12-17 15:08
快速回复:求助:由PictureBox绘制的曲线,怎样实现上下移动?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016940 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved