bufferedimage转byte
时间: 2023-09-13 12:09:10 浏览: 163
图片与byte互转
要将 BufferedImage 转换为 byte 数组,你可以使用 ByteArrayOutputStream 和 ImageIO 类的 write 方法。下面是一个示例代码:
```java
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) {
try {
BufferedImage image = ImageIO.read(new File("image.png"));
byte[] imageData = bufferedImageToByteArray(image);
System.out.println("Byte array length: " + imageData.length);
} catch (IOException e) {
e.printStackTrace();
}
}
public static byte[] bufferedImageToByteArray(BufferedImage image) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
return baos.toByteArray();
}
}
```
在这个例子中,我们首先使用 ImageIO 的 read 方法从文件中读取 BufferedImage。然后,我们将 BufferedImage 转换为 byte 数组的方法是创建一个 ByteArrayOutputStream 对象,使用 ImageIO 的 write 方法将图像写入 ByteArrayOutputStream。最后,我们可以通过调用 toByteArray 方法获取图像的字节数组。
请注意,在示例中使用的文件为 "image.png",你需要根据你自己的实际情况替换为正确的文件路径。
阅读全文