且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Java中Image的水平翻转、缩放与***旋转操作

更新时间:2022-07-18 10:23:38

老生常谈了,直接看代码。

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, 
00null);
Java中Image的水平翻转、缩放与***旋转操作        graphics2d.dispose();
Java中Image的水平翻转、缩放与***旋转操作        
return img;
Java中Image的水平翻转、缩放与***旋转操作    }

Java中Image的水平翻转、缩放与***旋转操作
Java中Image的水平翻转、缩放与***旋转操作    
/**
Java中Image的水平翻转、缩放与***旋转操作     * 变更图像为指定大小
Java中Image的水平翻转、缩放与***旋转操作     * 
Java中Image的水平翻转、缩放与***旋转操作     * 
@param bufferedimage
Java中Image的水平翻转、缩放与***旋转操作     *            目标图像
Java中Image的水平翻转、缩放与***旋转操作     * 
@param w
Java中Image的水平翻转、缩放与***旋转操作     *            宽
Java中Image的水平翻转、缩放与***旋转操作     * 
@param h
Java中Image的水平翻转、缩放与***旋转操作     *            高
Java中Image的水平翻转、缩放与***旋转操作     * 
@return
Java中Image的水平翻转、缩放与***旋转操作     
*/

Java中Image的水平翻转、缩放与***旋转操作    
public static BufferedImage resizeImage(final BufferedImage bufferedimage,
Java中Image的水平翻转、缩放与***旋转操作            
final int w, final int h) {
Java中Image的水平翻转、缩放与***旋转操作        
int type = bufferedimage.getColorModel().getTransparency();
Java中Image的水平翻转、缩放与***旋转操作        BufferedImage img;
Java中Image的水平翻转、缩放与***旋转操作        Graphics2D graphics2d;
Java中Image的水平翻转、缩放与***旋转操作        (graphics2d 
= (img = createImage(w, h, type))
Java中Image的水平翻转、缩放与***旋转操作                .createGraphics()).setRenderingHint(
Java中Image的水平翻转、缩放与***旋转操作                RenderingHints.KEY_INTERPOLATION,
Java中Image的水平翻转、缩放与***旋转操作                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
Java中Image的水平翻转、缩放与***旋转操作        graphics2d.drawImage(bufferedimage, 
00, w, h, 00, bufferedimage
Java中Image的水平翻转、缩放与***旋转操作                .getWidth(), bufferedimage.getHeight(), 
null);
Java中Image的水平翻转、缩放与***旋转操作        graphics2d.dispose();
Java中Image的水平翻转、缩放与***旋转操作        
return img;
Java中Image的水平翻转、缩放与***旋转操作    }

Java中Image的水平翻转、缩放与***旋转操作
Java中Image的水平翻转、缩放与***旋转操作    
/**
Java中Image的水平翻转、缩放与***旋转操作     * 水平翻转图像
Java中Image的水平翻转、缩放与***旋转操作     * 
Java中Image的水平翻转、缩放与***旋转操作     * 
@param bufferedimage 目标图像
Java中Image的水平翻转、缩放与***旋转操作     * 
@return
Java中Image的水平翻转、缩放与***旋转操作     
*/

Java中Image的水平翻转、缩放与***旋转操作    
public static BufferedImage flipImage(final BufferedImage bufferedimage) {
Java中Image的水平翻转、缩放与***旋转操作        
int w = bufferedimage.getWidth();
Java中Image的水平翻转、缩放与***旋转操作        
int h = bufferedimage.getHeight();
Java中Image的水平翻转、缩放与***旋转操作        BufferedImage img;
Java中Image的水平翻转、缩放与***旋转操作        Graphics2D graphics2d;
Java中Image的水平翻转、缩放与***旋转操作        (graphics2d 
= (img = createImage(w, h, bufferedimage
Java中Image的水平翻转、缩放与***旋转操作                .getColorModel().getTransparency())).createGraphics())
Java中Image的水平翻转、缩放与***旋转操作                .drawImage(bufferedimage, 
00, w, h, w, 00, h, null);
Java中Image的水平翻转、缩放与***旋转操作        graphics2d.dispose();
Java中Image的水平翻转、缩放与***旋转操作        
return img;
Java中Image的水平翻转、缩放与***旋转操作    }

本文转自 cping 51CTO博客,原文链接:http://blog.51cto.com/cping1982/130066