且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在java中将图像转换为字节数组?

更新时间:2022-03-12 15:06:03

BufferedImage包含两个主要类: Raster& ColorModel的的。 Raster本身由两个类组成, DataBufferByte 用于图像内容,而另一个用于像素颜色。

BufferedImage consists of two main classes: Raster & ColorModel. Raster itself consists of two classes, DataBufferByte for image content while the other for pixel color.

如果你想要DataBufferByte的数据,请使用:

if you want the data from DataBufferByte, use:

public byte[] extractBytes (String ImageName) throws IOException {
 // open image
 File imgPath = new File(ImageName);
 BufferedImage bufferedImage = ImageIO.read(imgPath);

 // get DataBufferBytes from Raster
 WritableRaster raster = bufferedImage .getRaster();
 DataBufferByte data   = (DataBufferByte) raster.getDataBuffer();

 return ( data.getData() );
}

现在你可以通过隐藏lsb中的文本来处理这些字节,例如,或者进程它就像你想要的那样。

now you can process these bytes by hiding text in lsb for example, or process it the way you want.