zoukankan      html  css  js  c++  java
  • 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   旋转 Image
    13             bi=getImage_rote270(srcImage);
    14             //3 按比例缩放
    15             bi=scale(bi,0.75);
    16              
    17         } catch (IOException e) {
    18             // TODO Auto-generated catch block
    19             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     
  • 相关阅读:
    React—ref 属性
    【支付宝SDK】沙箱调试,以及遇到的坑
    python 字符串相乘
    微信小程序授权获取手机号 出现-41003错误
    微信小程序 动态添加 view input picker
    PHP 获取当月的第一天和最后一天
    微信小程序 弹窗组件
    微信小程序 图片等比例 适应屏幕尺寸
    微信小程序图片预览
    div背景图占满
  • 原文地址:https://www.cnblogs.com/rojas/p/3906431.html
Copyright © 2011-2022 走看看