将自己画好的图形实现缩放功能.
我使用的是AffineTransform对象的scale方法.
缩放是能做到了,但是它做的缩放是想对于一个比例缩放的.
请问java有没有相对与一个点或一个自己拖动的矩形框来缩放的功能?
如果有该怎么实现?谢谢.

解决方案 »

  1.   

    楼主是要做类似于word中拖动图片边框就将图片缩放的功能嘛?可不可以试试在鼠标按下时mousePressed记录图片原大小oldSize,在鼠标拖动时mouseDrag获取图片左上角的顶点与当前鼠标所形成的矩形大小newSize,根据newSize与oldSize的比值进行按比例缩放,不知道这样是否能实现楼主要实现的功能啊
      

  2.   

    谢谢LS的回复,我的问题不是简单的比例缩放.这么跟你说吧.比如我画了一个Rectangle2D.Double(50,50,100,100);我在面板上点击放大功能然后鼠标在40,40的位置按下,拖动到80,80松开.那么整个面板所显示的就是我刚刚所拖动定义的矩形(也就是Rectangle2D.Double(40,40,100,100),但矩形没有面板大怎么办,这个时候它再填充放大整个面板.
      

  3.   

    袄,你要做的就是类似与windows图片查看器那样的,放大后拖动显示你所想要查看的那部分图像?是这样吗?那你可以利用
    继承Jpanel通过重写其
    public void paintComponents(Graphics g)绘制此容器中的每个组件。 
    参数:
    g - 图形上下文。
    然后就可以通过设置该面板在其上一层面板中的而坐标实现对图形的指定部分进行查看
      

  4.   

    转换坐标的方法我想过,但是我画的东西比较复杂。
    如果要转换坐标的话,要改很多东西。
    所以我就想问问:比如像AffineTransform这种坐标转换的缩放;
    有没有比较直接一点的实现工具类;
      

  5.   

    转换坐标的方法我想过,但是我画的东西比较复杂。
    如果要转换坐标的话,要改很多东西。
    所以我就想问问:比如像AffineTransform这种坐标转换的缩放;
    有没有比较直接一点的实现工具类;
      

  6.   

    这方面的工具类我也不太清楚啊,你可以去www.open-open.com上看看有没有相关的开源项目,没准会有收获