如何将BufferedImage转换为字节

时间:2011-11-04 04:08:38

标签: java swt

如何将BufferedImage转换为字节?

我无法从JDK找到有用的帮助。

3 个答案:

答案 0 :(得分:1)

你的意思是BufferedImage?

例如:

BufferedImage originalImage = ImageIO.read(new File(“c:\ image \ mypic.jpg”)); //javax.imageio.ImageIO

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( originalImage, "jpg", baos );
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();

//使用适当的异常处理

答案 1 :(得分:0)

BufferedImage to byte array:

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
...

// O P E N
ByteArrayOutputStream baos = new ByteArrayOutputStream( 1000 );

// W R I T E
ImageIO.write( aBufferedImage, "jpeg" /* "png" "jpeg" ... format desired */,
           baos );

// C L O S E
baos.flush();
byte[] resultImageAsRawBytes = baos.toByteArray();

baos.close();

来自:http://mindprod.com/jgloss/imageio.html#TOBYTES

答案 2 :(得分:0)

如果您正在寻找一种将图像转换为字节的3D矩阵的方法,其中每个2D单元格对应一个像素,每个像素具有3或4个字节,则不再看than here

另一方面,如果您尝试像读取任何其他文件一样读取它,就像字节流一样,请使用FileInputStream。

在任何一种情况下,都可以在github上使用我的代码!

https://github.com/skaushik92/File-Encryptor/blob/master/Source/ByteIO.java