如何将BufferedImage转换为字节?
我无法从JDK找到有用的帮助。
答案 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();
答案 2 :(得分:0)
如果您正在寻找一种将图像转换为字节的3D矩阵的方法,其中每个2D单元格对应一个像素,每个像素具有3或4个字节,则不再看than here!
另一方面,如果您尝试像读取任何其他文件一样读取它,就像字节流一样,请使用FileInputStream。
在任何一种情况下,都可以在github上使用我的代码!
https://github.com/skaushik92/File-Encryptor/blob/master/Source/ByteIO.java