zoukankan      html  css  js  c++  java
  • java 中 image 和 byte[] 相互转换

     

     
    java 中 image 和 byte[] 相互转换可恶的…………其实也挺好的 
    只是把好不容易写出来的东西记下来,怕忘了…… 
    下面,我来介绍一个简单的 byte[] to image, 
    我们只需要一个存储了图片信息的二进制串(byte[]) 
    然后,这样: 
    InputStream buffin = new ByteArrayInputStream(/*二进制串*/, 
                                                  /*起始位置*/, 
                                                  /*二进制串长度*/)); 

    BufferedImage img = ImageIO.read(buffin); 
    这样,我们就得到了一个可以输出的BufferedImage了,是不是非常简单呢~ 
    接下来,我们再来写一段代码,写法,也很简单 
    首先,我们要准备好一个可以输出的Image对象, 
    然后,这样 


    ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
    ImageIO.write((RenderedImage)/*要输出的图片*/,/* 图片的格式*/,bos);(要用try和chatch 


    然后用bos.toByteArray();(ByteArrayOutputStream.toByteArray)就可以得到想要byte[]了~ 
    是不是非常简单呢~~ 
    ,我这么做只是想把上传过来 
    的图片修改一下,生成一张规定大小的新图片然后一起存入数据库
    好不容易用Toolkit类生成了一个什么什么图片,是说是java.awt.image.TookitImage对象


    摘自http://blog.csdn.net/comcow/archive/2008/10/08/3031252.aspx 

    再加一句 
    Image img=Toolkit.getDefaultToolkit().createImage(buf, 0,buf.length); 

    InputStream转换byte[]   
      public   byte[]   toBArray(   InputStream   is   )   
      {   
              ByteArrayOutputStream   outp   =   new   ByteArrayOutputStream();   
              int   ch   =   0;   
              while(   (ch=is.read())!=-1   )   
                    outp.write(ch);   
              byte[]   b   =   outp.toByteArray();   
              return   b;   
    }   
  • 相关阅读:
    python3中的文件操作
    python3网络爬虫实现有道词典翻译功能
    C++11 thread condition_variable mutex 综合使用
    goland scope pattern 设置
    Go 1.11 Module 介绍
    hustOJ 添加 golang 支持
    docker 搭建 hustoj
    最长重复字符串题解 golang
    golang 结构体中的匿名接口
    使用aliyun cli工具快速创建云主机
  • 原文地址:https://www.cnblogs.com/ouyangping/p/6511693.html
Copyright © 2011-2022 走看看