老生常談了,直接看代碼。
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