// angle is in degrees (clockwise, 0 is north, 360 is full rotation) // uses white background static BufferedImage rotateImageInSameSize(BufferedImage img, double angle) { int w = img.getWidth(), h = img.getHeight(); BufferedImage canvas = newBufferedImage(w, h, Color.white); drawRotatedImageOnImage(img, canvas, 0, 0, angle, w/2, h/2); ret canvas; }