Here you can find the source of rotateRoundMiddlePoint(Rectangle2D rectangle)
public static Rectangle2D rotateRoundMiddlePoint(Rectangle2D rectangle)
//package com.java2s; /*/*from w w w . j a va 2 s. c om*/ * photo-manager is a program to manage and organize your photos; Copyright (C) 2010 Dietrich Hentschel * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ import java.awt.geom.*; public class Main { public static Rectangle2D rotateRoundMiddlePoint(Rectangle2D rectangle) { Rectangle2D rec = new Rectangle2D.Double(); rec.setRect(rectangle); // Kopieren double x = (rec.getWidth() / 2); double y = (rec.getHeight() / 2); // auf Mittelpunkt "schrumpfen" rec = grow(rec, new Point2D.Double(-x, -y)); // jetzt "wachsen" rec = grow(rec, new Point2D.Double(y, x)); return rec; } public static Rectangle2D grow(Rectangle2D rec, Point2D grow) { double x = rec.getX(); double y = rec.getY(); double w = rec.getWidth(); double h = rec.getHeight(); x = x - grow.getX(); y = y - grow.getY(); w = w + grow.getX() * 2; h = h + grow.getY() * 2; return new Rectangle2D.Double(x, y, w, h); } }