繁体   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