gpt4 book ai didi

java - 如何从java中的光栅图像获取byte[]?

转载 作者:行者123 更新时间:2023-12-02 07:37:13 25 4
gpt4 key购买 nike

如何从java中的光栅图像获取byte[]?我已经尝试过:

byte[] data = ((DataBufferByte)bufferedImage.getData().getDataBuffer()).getData();

但这会引发 ClassCastException 运行时异常:“DataBufferInt 无法转换为 DataBufferByte”。

感谢您的帮助。

最佳答案

您可以使用 ByteArrayOutputStream 获取字节数组,如下所示:(注意,未经测试的代码)

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( bufferedImage, "jpg", baos ); // if your image is a jpg
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();

编辑这个怎么样?您需要图像的 FileInputstream 来读取它并将其写入 ByteArrayOutputStream

ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
}
} catch (IOException ex) {
//
}
byte[] bytes = bos.toByteArray();

关于java - 如何从java中的光栅图像获取byte[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12049646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com