JAVA图片旋转 小结
刚刚完成了图片旋转的任务,好累啊!不知道是因为太久没弄java还是本来就比较笨,反正弄了好久,上网查的基本没帮助,除了让我知道AffineTransform会被用到之外基本没帮助!事实用java对图片进行一般的缩放旋转处理是很简单的!唉,看来学东西还是要有老师的指导啊,自己弄走的弯路实在是太多了! 要进行图片的旋转首先要知道的是:BufferedImage类------该类相当于一个容器.
刚刚完成了图片旋转的任务,好累啊!不知道是因为太久没弄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)