1.我把视图分裂成3快,在其中一块画了一个sinc波形图,现在我想用鼠标把框出的矩形局部图形放大到整个视图上
2.对应的X轴和Y轴的坐标值也要相应的发生变化

解决方案 »

  1.   

    1)获取框选部分的坐标轴最值(XY轴坐标最大最小值),计算所要放大后的曲线上对应的具体最大最小值(数据的最大最小值)
    2)重新绘制曲线在对应的视图内,通过Xmin---》Xmax,使用循环把具体的点转换为视图坐标绘制出来
    3)重新绘制坐标轴的刻度
      

  2.   

    我是规定在视图m_plotRect范围内画的图,通过坐标比例方式,假如我用鼠标框出的矩形区域为m_DragRect,所以放大倍数应该为:scaleH=m_plotRect.height()/m_DragRect.height();
    scalew=m_plotRect.width()/m_DragRect.width(),取其中的较小值。然后设置起点,使其放大图形重绘在m_plotRect视图范围中,不知道起点位置该怎么设置,在默认的映射模式下,设备坐标可以为负值吗?
      各位高手帮帮忙啊