zoukankan      html  css  js  c++  java
  • java将图片转换成二进制

    package com.oumyye.图片;
    import java.awt.image.BufferedImage;    
    import java.io.ByteArrayInputStream;    
    import java.io.ByteArrayOutputStream;    
    import java.io.File;    
    import java.io.IOException;    
       
    import javax.imageio.ImageIO;    
       
    import sun.misc.BASE64Decoder;    
    import sun.misc.BASE64Encoder;    
       
    public class TestImageBinary {    
        static BASE64Encoder encoder = new sun.misc.BASE64Encoder();    
        static BASE64Decoder decoder = new sun.misc.BASE64Decoder();    
            
        public static void main(String[] args) {    
            System.out.println(getImageBinary());    
                
            base64StringToImage(getImageBinary());    
        }    
            /**
             * 将图片转换成二进制
             * @return
             */
        static String getImageBinary(){    
            File f = new File("e:/1.jpg");           
            BufferedImage bi;    
            try {    
                bi = ImageIO.read(f);    
                ByteArrayOutputStream baos = new ByteArrayOutputStream();    
                ImageIO.write(bi, "jpg", baos);    
                byte[] bytes = baos.toByteArray();    
                    
                return encoder.encodeBuffer(bytes).trim();    
            } catch (IOException e) {    
                e.printStackTrace();    
            }    
            return null;    
        }    
            
        /**
         * 将二进制转换为图片
         * @param base64String
         */
        static void base64StringToImage(String base64String){    
            try {    
                byte[] bytes1 = decoder.decodeBuffer(base64String);    
                    
                ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);    
                BufferedImage bi1 =ImageIO.read(bais);    
                File w2 = new File("e://QQ.jpg");//可以是jpg,png,gif格式    
                ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动    
            } catch (IOException e) {    
                e.printStackTrace();    
            }    
        }    
       
    } 

    需要导入sun.misc.BASE64Decoder.jar包

    导入以后在代码中有错误提示可以忽略

  • 相关阅读:
    【转】c++ http下载文件
    unity事件
    【Unity3D自学记录】判断物体是否在镜头内
    Unity3D研究院之获取摄像机的视口区域
    Unity3D特效-场景淡入淡出
    Unity3D深入浅出
    胶囊碰撞体(CapsuleCollider)
    unity Dotween插件的简单介绍及示例代码
    使用Animation实现摄像机动画
    Unity3D研究院之使用Animation编辑器编辑动画
  • 原文地址:https://www.cnblogs.com/oumyye/p/4306219.html
Copyright © 2011-2022 走看看