+ -
当前位置:首页 → 问答吧 → C++(mfc)关于曲线选取放大的实现

C++(mfc)关于曲线选取放大的实现

时间:2011-12-14

来源:互联网

现在需要实现一个功能,把数据画在坐标系中,用曲线表示出来,然后选取一部分进行放大或者缩小,可以截图。遇到了问题,那个选取框 怎么实现,对选取的部分区域怎么放大呢

作者: chaoguodong   发布时间: 2011-12-14

就得重新绘制了。这个是数学问题吧?

如果是用StretchBlt方式的,那么线也会变粗了。

作者: healer_kx   发布时间: 2011-12-14

放大不是指粗细,是说的 坐标轴本来是10S为单位,变为1S为单位 这样的
引用 1 楼 healer_kx 的回复:
就得重新绘制了。这个是数学问题吧?

如果是用StretchBlt方式的,那么线也会变粗了。

作者: chaoguodong   发布时间: 2011-12-14

有没有知道 我现在 想做个选取框 怎么实现啊

作者: chaoguodong   发布时间: 2011-12-19

按比例放大

作者: dahuaixiaohuai   发布时间: 2011-12-19

怎么做出来个选框呢 可以拖曳的那种
引用 4 楼 dahuaixiaohuai 的回复:
按比例放大

作者: chaoguodong   发布时间: 2011-12-19

引用 2 楼 chaoguodong 的回复:

放大不是指粗细,是说的 坐标轴本来是10S为单位,变为1S为单位 这样的 引用 1 楼 healer_kx 的回复:
就得重新绘制了。这个是数学问题吧?

如果是用StretchBlt方式的,那么线也会变粗了。

首先你要有精确到1s的数据,然后每10个数据取一个来画图,这样是精确到10s的,放大的时候到原始的精确到1s的数据里取,然后描画,这就是精确到1s的细节图了。

至于选取框,想自己做呢,以MPC为例,可以就是一个Rectangle(),记住坐标,设一个flag表示是否在拖动,然后在OnLButtonDown里设flag=true,OnMouseMove里判断flag,擦除上次的Rectangle,描画新的Rectangle,OnLButtonUp里再设flag=false,这样应该就差不多了,一时没想到简单好用的控件,lz知道了的话可以分享下。

作者: just_swizard   发布时间: 2011-12-19