您的位置:首页 > 编程语言 > Java开发

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

2008-02-02 22:11 393 查看
老生常谈了,直接看代码。

bufferedimage.getColorModel().getTransparency()以获得原始图片透明度用于生成缓存图,在缓存图进行相应操作即可。




/** *//**


* 旋转图片为指定角度


*


* @param bufferedimage


* 目标图像


* @param degree


* 旋转角度


* @return


*/


public static BufferedImage rotateImage(final BufferedImage bufferedimage,




final int degree) ...{


int w = bufferedimage.getWidth();


int h = bufferedimage.getHeight();


int type = bufferedimage.getColorModel().getTransparency();


BufferedImage img;


Graphics2D graphics2d;


(graphics2d = (img = new BufferedImage(w, h, type))


.createGraphics()).setRenderingHint(


RenderingHints.KEY_INTERPOLATION,


RenderingHints.VALUE_INTERPOLATION_BILINEAR);


graphics2d.rotate(Math.toRadians(degree), w / 2, h / 2);


graphics2d.drawImage(bufferedimage, 0, 0, null);


graphics2d.dispose();


return img;


}






/** *//**


* 变更图像为指定大小


*


* @param bufferedimage


* 目标图像


* @param w


* 宽


* @param h


* 高


* @return


*/


public static BufferedImage resizeImage(final BufferedImage bufferedimage,




final int w, final int h) ...{


int type = bufferedimage.getColorModel().getTransparency();


BufferedImage img;


Graphics2D graphics2d;


(graphics2d = (img = createImage(w, h, type))


.createGraphics()).setRenderingHint(


RenderingHints.KEY_INTERPOLATION,


RenderingHints.VALUE_INTERPOLATION_BILINEAR);


graphics2d.drawImage(bufferedimage, 0, 0, w, h, 0, 0, bufferedimage


.getWidth(), bufferedimage.getHeight(), null);


graphics2d.dispose();


return img;


}






/** *//**


* 水平翻转图像


*


* @param bufferedimage 目标图像


* @return


*/




public static BufferedImage flipImage(final BufferedImage bufferedimage) ...{


int w = bufferedimage.getWidth();


int h = bufferedimage.getHeight();


BufferedImage img;


Graphics2D graphics2d;


(graphics2d = (img = createImage(w, h, bufferedimage


.getColorModel().getTransparency())).createGraphics())


.drawImage(bufferedimage, 0, 0, w, h, w, 0, 0, h, null);


graphics2d.dispose();


return img;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 休闲 缩放 Image 翻转