老生常谈了,直接看代码。
bufferedimage.getColorModel().getTransparency()以获得原始图片透明度用于生成缓存图,在缓存图进行相应操作即可。
Java中Image的水平翻转、缩放与自由旋转操作 /**
Java中Image的水平翻转、缩放与自由旋转操作 * 旋转图片为指定角度
Java中Image的水平翻转、缩放与自由旋转操作 *
Java中Image的水平翻转、缩放与自由旋转操作 * @param bufferedimage
Java中Image的水平翻转、缩放与自由旋转操作 * 目标图像
Java中Image的水平翻转、缩放与自由旋转操作 * @param degree
Java中Image的水平翻转、缩放与自由旋转操作 * 旋转角度
Java中Image的水平翻转、缩放与自由旋转操作 * @return
Java中Image的水平翻转、缩放与自由旋转操作 */
Java中Image的水平翻转、缩放与自由旋转操作 public static BufferedImage rotateImage(final BufferedImage bufferedimage,
Java中Image的水平翻转、缩放与自由旋转操作 final int degree) {
Java中Image的水平翻转、缩放与自由旋转操作 int w = bufferedimage.getWidth();
Java中Image的水平翻转、缩放与自由旋转操作 int h = bufferedimage.getHeight();
Java中Image的水平翻转、缩放与自由旋转操作 int type = bufferedimage.getColorModel().getTransparency();
Java中Image的水平翻转、缩放与自由旋转操作 BufferedImage img;
Java中Image的水平翻转、缩放与自由旋转操作 Graphics2D graphics2d;
Java中Image的水平翻转、缩放与自由旋转操作 (graphics2d = (img = new BufferedImage(w, h, type))
Java中Image的水平翻转、缩放与自由旋转操作 .createGraphics()).setRenderingHint(
Java中Image的水平翻转、缩放与自由旋转操作 RenderingHints.KEY_INTERPOLATION,
Java中Image的水平翻转、缩放与自由旋转操作 RenderingHints.VALUE_INTERPOLATION_BILINEAR);
Java中Image的水平翻转、缩放与自由旋转操作 graphics2d.rotate(Math.toRadians(degree), w / 2, h / 2);
Java中Image的水平翻转、缩放与自由旋转操作 graphics2d.drawImage(bufferedimage, 0, 0, null);
Java中Image的水平翻转、缩放与自由旋转操作 graphics2d.dispose();
Java中Image的水平翻转、缩放与自由旋转操作 return img;
Java中Image的水平翻转、缩放与自由旋转操作 }
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 /**
Java中Image的水平翻转、缩放与自由旋转操作 * 变更图像为指定大小
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 * @param w
Java中Image的水平翻转、缩放与自由旋转操作 * 宽
Java中Image的水平翻转、缩放与自由旋转操作 * @param h
Java中Image的水平翻转、缩放与自由旋转操作 * 高
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 public static BufferedImage resizeImage(final BufferedImage bufferedimage,
Java中Image的水平翻转、缩放与自由旋转操作 final int w, final int h) {
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 (graphics2d = (img = createImage(w, h, type))
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 graphics2d.drawImage(bufferedimage, 0, 0, w, h, 0, 0, bufferedimage
Java中Image的水平翻转、缩放与自由旋转操作 .getWidth(), bufferedimage.getHeight(), null);
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 * 水平翻转图像
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 * @param bufferedimage 目标图像
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 public static BufferedImage flipImage(final BufferedImage bufferedimage) {
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 (graphics2d = (img = createImage(w, h, bufferedimage
Java中Image的水平翻转、缩放与自由旋转操作 .getColorModel().getTransparency())).createGraphics())
Java中Image的水平翻转、缩放与自由旋转操作 .drawImage(bufferedimage, 0, 0, w, h, w, 0, 0, h, null);
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作
Java中Image的水平翻转、缩放与自由旋转操作 本文转自 cping 51CTO博客,原文链接:http://blog.51cto.com/cping1982/130066