首页 > 代码库 > 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