缩放可以实现,而且不难
因为(0,0)这点的坐标固定的,坐标轴里面的任何图表都是由点组成的,使用相对坐标就能画出所有点。比如说缩小,只要把所有点的x,y值缩小n倍就可以了。旋转有点复杂,但是思路还是比较清楚的。
还是用相对坐标来计算坐标轴里面所有点的位置,但是不是那么简单的了,要加一个角度参数。
如果是正常表现形式,你可以定义为90度,即y轴和水平线的角度。
旋转之后使用相对坐标加一个角度的计算就能得到所有点的位置了!我说的是思路,具体细节和代码楼主自己考虑一下!

解决方案 »

  1.   

    Maybe 我的需求和你们所想的不一样吧  呵呵~
    PS:缩放还好实现,但旋转的话却有些难度,它们两者最重要的一点就是在缩放或者旋转的时候,坐标轴也应该相应发生变化,如果图表区里面的图表缩小,则坐标轴应该增大,如果图表放大,则相应坐标轴应该缩小,这个意思还好理解吧:);旋转的话应该是这样的,如果图表区的图表要实现旋转,坐标还是90度,没有变,旋转后变化的是图表和坐标轴,而不是坐标系的角度,这样说应该清楚一点,如果是对图表旋转X度,则变化的应该是(X,Y)数据点。
      

  2.   

    多看看swing和swt,有很多例子!
      

  3.   

    楼主看看java.awt.geom.AffineTransform这个类,可以满足你的要求
      

  4.   

    如果用java.awt.geom.AffineTransform来实现旋转,缩放,剪切的话我早就可以已经实现了呀
    你们可能还不太清楚我的需求
    问题在于在做旋转缩放和剪切的时候要考虑到 ::[ 坐标轴的变化 ]::
    并不是作为一张简单的图片来处理的
    这才是难点哦
      

  5.   

    to:jFresH_MaN
    能详细点么,请教!
      

  6.   

    使用过jfreechart没?
    和它里面的鼠标事件差不多.
    只不过jfreechart里面只做了缩放,没有旋转.
    研究jfreechart源码,觉得代码好乱,没心情看下去,故来此求高人相助啊。
    现在还有三个功能要实现:缩放,旋转,还原,旋转最有难度哦。