Java实现image对象转byte
时间: 2023-09-04 09:11:43 浏览: 89
Java中可以使用ImageIO类的write方法将Image对象转化为byte数组。
示例代码如下:
```java
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageToByte {
public static byte[] imageToByte(Image img, String format) throws IOException {
BufferedImage bImage = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
bImage.getGraphics().drawImage(img, 0, 0, null);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(bImage, format, bos);
return bos.toByteArray();
}
public static void main(String[] args) throws IOException {
Image img = ImageIO.read(new File("image.jpg"));
byte[] bytes = imageToByte(img, "jpg");
System.out.println("Image to byte array: " + bytes);
}
}
```
其中 `imageToByte` 方法将 `Image` 对象转为 `byte[]` 数组,第一个参数为 `Image` 对象,第二个参数为需要转换的图片格式,这里使用 `jpg` 格式。使用 `ImageIO` 类的 `write` 方法将 `BufferedImage` 对象写入 `ByteArrayOutputStream` 中,最后使用 `toByteArray` 方法将 `ByteArrayOutputStream` 转换为 `byte[]` 数组。
阅读全文