zoukankan      html  css  js  c++  java
  • base64转byte[]、byte[]转base64、byte[]转图片后图片按固定宽高缩放

    /**
         * 图片缩放
         */
        public static BufferedImage ImageStringByte(int width, byte[] b) {
            
            InputStream buffin = new ByteArrayInputStream(b);
            BufferedImage src = null;
            try {
                src = ImageIO.read(buffin);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } // 读入文件
            int widthYuan = src.getWidth(); // 得到源图宽
            int heightYuan = src.getHeight(); // 得到源图长
            heightYuan = heightYuan / (widthYuan/width);
            widthYuan = width ;
            Image image = src.getScaledInstance(widthYuan, heightYuan, Image.SCALE_DEFAULT);
            BufferedImage tag = new BufferedImage(widthYuan, heightYuan, BufferedImage.TYPE_INT_RGB);
            Graphics g = tag.getGraphics();
            boolean drawImage = g.drawImage(image, 0, 0, null); // 绘制缩小后的图
            g.dispose();
           return tag;// 输出到文件流
        }

    /**
         * byte流转为字符串
         */
        public static String stringsByImage(byte[] binaryData) {
            String b = null;
            try {
                // b = decoder.decodeBuffer(base64str);
                b = Base64.encode(binaryData);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return b;
        }

        /**
         * 将图片字符串流转为图片二进制
         */
        public static byte[] ImageByString(String base64str) {
            byte[] b = null;
            try {
                b = Base64.decode(base64str);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return b;
        }

    /**
         * 将图片直接转为byte
         */
        public static byte[] byteByImage(BufferedImage  image) {
            ByteArrayOutputStream bos = new ByteArrayOutputStream(); // 将图片转为byte
            try {
                ImageIO.write(image, "jpg", bos);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return bos.toByteArray();

        }

  • 相关阅读:
    OneDay!——冲刺日志9(05-06)
    Hail_Hydra2—代码规范
    Hail_Hydra2—凡事预则立
    Alpha冲刺的问题总结
    Hail_Hydra2—冲刺日志集合
    Hail_Hydra2—总结随笔
    Hail_Hydra2—测试随笔
    Hail_Hydra2—冲刺日志(10)
    Hail_Hydra2—冲刺日志(9)
    Hail_Hydra2—冲刺日志(8)
  • 原文地址:https://www.cnblogs.com/han-java/p/10502448.html
Copyright © 2011-2022 走看看