Here you can find the source of rotate(BufferedImage img, int angle)
public static BufferedImage rotate(BufferedImage img, int angle)
//package com.java2s; //License from project: Apache License import java.awt.Graphics2D; import java.awt.image.BufferedImage; public class Main { public static BufferedImage rotate(BufferedImage img, int angle) { int w = img.getWidth(); int h = img.getHeight(); BufferedImage dimg = new BufferedImage(w, h, img.getType()); Graphics2D g = dimg.createGraphics(); g.rotate(Math.toRadians(angle), w / 2, h / 2); g.drawImage(img, null, 0, 0);//from w ww . java2 s.c o m return dimg; } public static void drawImage(BufferedImage srcImg, BufferedImage img2Draw, int w, int h) { if (w == -1) w = (int) (srcImg.getWidth() / 2); if (h == -1) h = (int) (srcImg.getHeight() / 2); System.out.println("AWT Image Wt: " + w + " And Ht: " + h); Graphics2D g2 = srcImg.createGraphics(); g2.drawImage(img2Draw, w, h, null); g2.dispose(); } }