怎么用java写一个图片旋转90、180、270、360度的函数,并将旋转后的图片用JLabel显示来,求各位路过的大神指点,以下是我之前写的代码,无论怎么修改都有问题,图片旋转90度后只显示部...
怎么用java写一个图片旋转90、180、270、360度的函数,并将旋转后的图片用JLabel显示来,求各位路过的大神指点,以下是我之前写的代码,无论怎么修改都有问题,图片旋转90度后只显示部分,具体请看图:第一张是旋转前:
第二张是旋转90度后:
麻烦大神帮忙解决,已经被这个问题纠结了几天时间了,一直修改不出来,今晚就要交了radius += Math.PI / 2;try{File f = new File(fpath+imagename);//根据路径和文件名创建文件对象; Image image = ImageIO.read(f) ImageIcon ico = null; AffineTransform trans = null; trans = new AffineTransform(); x = image.getWidth(null); y = image.getHeight(null); trans.rotate(radius,x/2 , y/2); BufferedImage buffer1 = new BufferedImage(x,y,BufferedImage.TYPE_INT_RGB); Graphics2D g2 = buffer1.createGraphics(); g2.setTransform(trans); ico = new ImageIcon(buffer1); g2.drawImage(image,null,null); limage.setIcon(ico);//传入Label }catch(Exception e) { e.printStackTrace(); }
展开