java 图片旋转
来源:互联网 发布:mac开机密码忘记了 编辑:程序博客网 时间:2024/05/17 23:50
import java.awt.Color;import java.awt.Graphics2D;import java.awt.Transparency;import java.awt.geom.AffineTransform;import java.awt.image.AffineTransformOp;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import javax.imageio.ImageIO;import javax.imageio.stream.ImageOutputStream;public class ImageChange {public static InputStream rotateImg(BufferedImage image, int degree, Color bgcolor) throws IOException {int iw = image.getWidth();//原始图象的宽度 int ih = image.getHeight();//原始图象的高度int w = 0;int h = 0;int x = 0;int y = 0;degree = degree % 360;if (degree < 0)degree = 360 + degree;//将角度转换到0-360度之间double ang = Math.toRadians(degree);//将角度转为弧度/** *确定旋转后的图象的高度和宽度 */if (degree == 180 || degree == 0 || degree == 360) {w = iw;h = ih;} else if (degree == 90 || degree == 270) {w = ih;h = iw;} else {int d = iw + ih;w = (int) (d * Math.abs(Math.cos(ang)));h = (int) (d * Math.abs(Math.sin(ang)));}x = (w / 2) - (iw / 2);//确定原点坐标y = (h / 2) - (ih / 2);BufferedImage rotatedImage = new BufferedImage(w, h, image.getType());Graphics2D gs = (Graphics2D)rotatedImage.getGraphics();if(bgcolor==null){rotatedImage = gs.getDeviceConfiguration().createCompatibleImage(w, h, Transparency.TRANSLUCENT);}else{gs.setColor(bgcolor);gs.fillRect(0, 0, w, h);//以给定颜色绘制旋转后图片的背景}AffineTransform at = new AffineTransform();at.rotate(ang, w / 2, h / 2);//旋转图象at.translate(x, y);AffineTransformOp op = new AffineTransformOp(at, AffineTransformOp.TYPE_BICUBIC);op.filter(image, rotatedImage);image = rotatedImage;ByteArrayOutputStream byteOut= new ByteArrayOutputStream();ImageOutputStream iamgeOut = ImageIO.createImageOutputStream(byteOut);ImageIO.write(image, "png", iamgeOut);InputStream inputStream = new ByteArrayInputStream(byteOut.toByteArray());return inputStream;}}
挺好用的,收藏
- JAVA图片旋转 小结
- java 图片旋转
- java 图片旋转
- java中的图片旋转
- java 图片旋转
- JAVA图片旋转 小结
- java 图片旋转
- java 图片旋转
- Java图片旋转
- java图片旋转
- java 图片旋转
- java图片旋转,缩放,翻转
- java图片旋转指定角度
- java图片旋转 90度
- java 图片绕中心旋转
- java 结合opencv图片旋转
- java实现image图片旋转
- java上传带旋转角度的图片旋转问题
- xp ubuntu双系统安装图文教程
- 在BlackBerry上使用OpenGL绘图(八):模型的运动
- 内存管理
- CSS阴影详解
- 【观点】成功创办一个公司究竟需要多少钱?
- java 图片旋转
- 使用download smartforms to xml的方法copy越南语
- 获得ListView中选中项的值
- Android中spinner自定义样式
- CSS阴影详解(2)
- 在BlackBerry上使用OpenGL绘图(九):投影变换
- 分享android技术牛人博客
- No Dialect mapping for JDBC type: -1
- Shell中关于if,case,for,while等的总结