java 二进制图片转换为图片流输出
时间: 2024-02-16 15:04:30 浏览: 100
图片文件转换成二进制流并进行base64编码
在Java中可以使用`javax.imageio.ImageIO`类和`java.io.ByteArrayInputStream`类来实现二进制图片转换为图片流输出,具体代码如下:
```java
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
// 假设二进制图片数据保存在变量binaryData中
byte[] binaryData = new byte[] {...};
// 将二进制数据转换为BufferedImage对象
BufferedImage image = ImageIO.read(new ByteArrayInputStream(binaryData));
// 将BufferedImage对象转换为图片流输出
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
ImageIO.write(image, "png", outputStream);
} catch (IOException e) {
e.printStackTrace();
}
byte[] imageStream = outputStream.toByteArray();
// 输出图片流
System.out.println(Arrays.toString(imageStream));
```
这段代码将二进制图片数据转换为`BufferedImage`对象后,使用`ImageIO.write`方法将其转换为PNG格式的图片流输出。最终输出的是图片流的字节数组。需要注意的是,这里输出的是PNG格式的图片流,如果需要输出其他格式的图片流,可以将`"png"`参数替换为相应的格式字符串,例如JPEG格式为`"jpeg"`。
阅读全文