JAVA图片旋转 小结

 刚刚完成了图片旋转的任务,好累啊!不知道是因为太久没弄java还是本来就比较笨,反正弄了好久,上网查的基本没帮助,除了让我知道AffineTransform会被用到之外基本没帮助!事实用java对图片进行一般的缩放旋转处理是很简单的!唉,看来学东西还是要有老师的指导啊,自己弄走的弯路实在是太多了!

  要进行图片的旋转首先要知道的是:BufferedImage类------该类相当于一个容器.

                                                AffineTransform类-----该类相当于变换方法.

   首先定制一个适当大小的BufferedImage对象,这简单,构造器直接弄.然后构造一个空的AffineTransform对象.接着调用BufferedImage对象的setTransform()方法将AffineTransform关联起来.然后调用AffineTransform的相应rotate(),translate()等方法进行变换.最后调用BufferedImage对象的drawImage()方法将要变换的图像画进去即可!就这么简单几步!

  ImageIcon ico = null;
  AffineTransform trans = null;
  trans = new AffineTransform();
  trans.rotate(Math.PI, oringinal.getWidth(null) / 2, oringinal
    .getHeight(null) / 2);
  File f = new File("GUI/icons/greyscale_007.gif");
  try {
   Image image = ImageIO.read(f);
   BufferedImage buffer1 = new BufferedImage(image.getWidth(null),
     image.getHeight(null), BufferedImage.TYPE_INT_RGB);
   Graphics2D g2 = buffer1.createGraphics();
   g2.setTransform(trans);
   g2.drawImage(image, null, null);
   ico = new ImageIcon(buffer1);
  } catch (Exception e) {
   e.printStackTrace();
  }

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值