首页 > 代码库 > java读取jpg图片旋转按比例缩放
java读取jpg图片旋转按比例缩放
1 //入口 2 public static BufferedImage constructHeatWheelView(int pageWidth, int pageHeight, DoubleHolder scaleHolder) throws ValidateException{ 3 4 BufferedImage bi = new BufferedImage(pageWidth, pageHeight, BufferedImage.TYPE_INT_RGB); 5 Graphics2D g = (Graphics2D) bi.getGraphics(); 6 DrawingHelper.clearGraphics(g, pageWidth, pageHeight); 7 try { 8 9 //1 读取 jpg 格式图片10 Image srcImage= ImageIO.read(ECSigleton.getInstance().getAppManager().loadImageStream("HeatWheel"));11 12 //2 旋转 Image13 bi=getImage_rote270(srcImage);14 //3 按比例缩放15 bi=scale(bi,0.75);16 17 } catch (IOException e) {18 // TODO Auto-generated catch block19 e.printStackTrace();20 } 21 return bi; 22 }23 24 public static BufferedImage getImage_rote270(Image img)25 {26 int width = img.getWidth(null);27 int height = img.getHeight(null);28 BufferedImage newImg = new BufferedImage(height, width, 1);29 Graphics g = newImg.getGraphics();30 Graphics2D g2d = (Graphics2D) g;31 g2d.rotate(Math.toRadians(-90), 0, 0);32 g2d.drawImage(img, -width, 0, width, height, null);33 g2d.dispose();34 return newImg;35 }36 37 public static BufferedImage scale(BufferedImage src, double scale) {38 39 int width = src.getWidth(); // 得到源图宽40 int height = src.getHeight(); // 得到源图长41 42 width = (int)(width * scale);43 height = (int)(height * scale);44 45 Image image = src.getScaledInstance(width, height,46 Image.SCALE_DEFAULT);47 BufferedImage tag = new BufferedImage(width, height,48 BufferedImage.TYPE_INT_RGB);49 Graphics g = tag.getGraphics();50 g.drawImage(image, 0, 0, null); // 绘制缩小后的图51 g.dispose();52 //ImageIO.write(tag, "JPEG", new File(result));// 输出到文件流53 return tag;54 }55
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。