Graphics2D类的scale方法用于将图形环境的坐标变换设置为一个比例变换。这种变换能够将用户坐标(用户设定的坐标)变成设备坐标(象素)。g2.scale(2,2);就是将形状放大两倍;
AffineTransform用某特定矩阵构建仿射变换
详细方面你还是看看书或者查阅doc吧^_^。

解决方案 »

  1.   

    g2.scale(2,2);里面两个2是什么意思呢?
      

  2.   

    旋转,平移,缩放和切变操作用矩形来表示其实是
    X'     a   c   e     X
    Y' =   b   d   f  * Y
    1      0   0   1     1scale的两个参数分别是x轴和y轴
    对应上面的X和Y,2就是放大两倍。
    AffineTransform就是用特定的矩形替代中间那个矩形
    我也是刚看书的,不知道对不对^_^
    贻笑大方之处请见量^_^
      

  3.   

    static AffineTransform getScaleInstance(double sx,double sy)
    用于建立一个缩放变换,将x轴缩放sx,将y轴缩放sy,它的sx将替代中间矩形的a,sy替代d,别的变量取0;
    static AffineTransform getShearInstance(double shx,double shy)
    用于建立一个扭曲变换,将x轴扭曲shx,将y轴扭曲shy,它的shx将替代中间矩形的c,shy替代b,a和d取1,e和f取0;
    static AffineTransform getTranslateInstance(double tx,double ty)
    用于建立一个平移变换,将x轴移动tx,将y轴移动ty,它的shx将替代中间矩形的e,shy替代f,a和d取1,c和b取0;
    AffineTransform(double a,double b,double c,double d,double e,double f)这个方法可以改变矩阵中所有的值。(也可以用float形变量)
    static AffineTransform getRotateInstance(double a)
    用于建立一个绕着原点逆时针旋转角度a(弧度)的变换操作,这里把a替换成cos(a),c替换成-sin(a),b替换成sin(a),d替换成cos(a);
    static AffineTransform getRotateInstance(double a,doubule x,double y)
    则是绕着(x,y)转的
    好累喔,终于写完了^_^