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();

        }

  • 相关阅读:
    MySQL for OPS 02:SQL 基础
    Samba:基于公网 IP 的服务访问
    MySQL for OPS 01:简介 / 安装初始化 / 用户授权管理
    Samba:打造企业级授权文件共享服务器
    嵌入式web server——Goahead移植要点
    libConfuse的使用
    【工具篇】notepad++
    使用sprintf打印float并控制小数位数时引起的问题
    【工具篇】source Insight
    【工具篇】xshell
  • 原文地址:https://www.cnblogs.com/han-java/p/10502448.html
Copyright © 2011-2022 走看看