请问用Java2D实现画板放大,而每个Shape元素不放大?
就是说:
   在Java2D里,如果想放大的话,会把图像每一个元素都放大了,我现在想要得到的是:放大仅限于距离放大,而不是元素图像放大。
   请高手不吝赐教!

解决方案 »

  1.   

    你的意思是不是直接放大当前视口显示区域而不放大真正的图像像素?
    如果是这样可以重载paintComponent()方法,然后设置Graphics2D的scale属性
    public void paintComponent(Graphics g) {
          Graphics2D g2d = (Graphics2D) g;      // 设置缩放比例
          g2d.scale(scaleRatio, scaleRatio);      // 绘图
          g2d.drawRenderedImage(renderedImage,
                                AffineTransform.getTranslateInstance(0, 0));
    }
      

  2.   

    chenweionline(键盘上的舞者) :
      谢谢关注,您的程序好像不起效果,放大后,线条的粗细也跟着放大.
      

  3.   

    再次说明一下我的问题,比如画板上有如下文字:
       test
        test我想放大后变为:
       t e s t 
        
         t e s t
    就是说:文字的大小\粗细不变,文字间距根据放大比例放大.同样,其他非文字图形也是这样的效果.