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

        }

  • 相关阅读:
    Codeforces 831 A Unimodal Array 模拟(我感觉我现在比任何时候都理解程序员就是专门写各种Bug这句话)
    HDU 1205 吃糖果 鸽巢原理
    UVA 12716 GCDXOR 数论
    HDU 6152 Friend-Graph Ramsey定理 组合数学
    UVA 10791 Minimum Sum LCM 数论
    DFS系列 POJ(自认为的讲解)
    HDU 5101
    gets,gets_s,fgets函数
    vector理解一波~~~
    BestCoder Round #74 (div.1) 1002Shortest Path(hdoj5636)
  • 原文地址:https://www.cnblogs.com/han-java/p/10502448.html
Copyright © 2011-2022 走看看