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;   
}   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM