簡體   English   中英

如何從Java中的JPEG編碼器獲取壓縮的圖像數據

[英]How to get the compressed image data from JPEG encoder in Java

我想使用JPEG編碼器壓縮圖像,而不是將其寫入文件,而是將壓縮后的數據傳遞給另一個應用程序。 我的問題是我可以壓縮數據,但不知道如何獲取壓縮的圖像數據。 我正在使用此代碼:

 out = new FileOutputStream ( filename );
 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder ( out );
 JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam ( bi );
 param.setQuality ( 0.3f, false );  
 encoder.setJPEGEncodeParam ( param );
 encoder.encode ( bi );
 out.close();

ByteArrayOutputStream將使您可以訪問字節。

 ByteArrayOutputStream out = new ByteArrayOutputStream (  );
 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder ( out );
 JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam ( bi);
 param.setQuality ( 0.3f, false );  
 encoder.setJPEGEncodeParam ( param );
 encoder.encode (bi);
 out.close(); // a no-op on ByteArrayOutputStream
 byte[] data = out.toByteArray();

使用ByteArrayOutputStream代替FileOutputStream 然后,您可以通過toByteArray()獲得字節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM