图片旋转

IOS上传照片会旋转一定的角度,所以有时候需要把图片给旋转。具体实现如下:

public String rotateImages(String path,int degree) throws IOException{

BufferedImage bufferedimage = ImageIO.read(new File(path));

ByteArrayOutputStream out = new ByteArrayOutputStream();

int w= bufferedimage.getWidth();// 得到图片宽度。

int h= bufferedimage.getHeight();// 得到图片高度。

int type= bufferedimage.getColorModel().getTransparency();// 得到图片透明度。

BufferedImage img;// 空的图片。

Graphics2D graphics2d;// 空的画笔。

(graphics2d= (img= new BufferedImage(w, h, type))

.createGraphics()).setRenderingHint(

RenderingHints.KEY_INTERPOLATION,

RenderingHints.VALUE_INTERPOLATION_BILINEAR);

graphics2d.rotate(Math.toRadians(degree), w / 2, h / 2);// 旋转,degree是整型,度数,比如垂直90度。

graphics2d.drawImage(bufferedimage, 0, 0, null);// 从bufferedimagecopy图片至img,0,0是img的坐标。

graphics2d.dispose();

String fileName = UUID.randomUUID().toString() + ".jpg";

ImageIO.write(img, "jpg", new File(Constant.PATH + fileName));

return fileName;// 返回复制好的图片,原图片依然没有变,没有旋转,下次还可以使用。

}

你可能感兴趣的:(图片旋转)