public static final int J2D_ROTATE_90 = 90;
public static final int J2D_ROTATE_180 = 180;
public static final int J2D_ROTATE_270 = 270;
/**
* 旋转 - 参数指定目标图旋转角度。
* @param bufferedImage BufferedImage
* @param radian int
* @param hints RenderingHints
* @return BufferedImage
*/
public static BufferedImage rotateJ2D(BufferedImage bufferedImage,
int radian,
RenderingHints hints) {
int width = bufferedImage.getWidth();
int height = bufferedImage.getHeight();
BufferedImage dstImage = null;
AffineTransform affineTransform = new AffineTransform();
if (radian == 180) {
affineTransform.translate(width, height);
dstImage = new BufferedImage(width, height, bufferedImage.getType());
} else if (radian == 90) {
affineTransform.translate(height, 0);
dstImage = new BufferedImage(height, width, bufferedImage.getType());
} else if (radian == 270) {
affineTransform.translate(0, width);
dstImage = new BufferedImage(height, width, bufferedImage.getType());
}
affineTransform.rotate(java.lang.Math.toRadians(radian));
AffineTransformOp affineTransformOp = new AffineTransformOp(
affineTransform,
hints);